=== modified file 'oo4gl/OpenEdge/Core/Collections/AbstractTTCollection.cls'
--- old/oo4gl/OpenEdge/Core/Collections/AbstractTTCollection.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/AbstractTTCollection.cls	2026-01-30 14:13:55 +0000
@@ -1,6 +1,5 @@
 class OpenEdge.Core.Collections.AbstractTTCollection
-	implements OpenEdge.Core.Collections.ICollection, 
-		OpenEdge.Core.Collections.IIterable abstract:
+	implements OpenEdge.Core.Collections.ICollection abstract:
 
 	constructor public AbstractTTCollection ():
 	end.
@@ -14,6 +13,9 @@
 	constructor protected AbstractTTCollection ( phtt as handle, hField as handle):
 	end.
 
+    destructor AbstractTTCollection():
+    end.
+
 	define public property Size as integer no-undo
 		public get.
 		private set.

=== modified file 'oo4gl/OpenEdge/Core/Collections/Array.cls'
--- old/oo4gl/OpenEdge/Core/Collections/Array.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/Array.cls	2026-01-29 14:30:33 +0000
@@ -1,6 +1,5 @@
 class OpenEdge.Core.Collections.Array
-	implements OpenEdge.Core.Collections.ICollection, 
-		OpenEdge.Core.Collections.IIterable:
+	implements OpenEdge.Core.Collections.IList:
 
 	constructor public Array ( piSize as integer):
 	end.
@@ -11,8 +10,16 @@
 	constructor public Array ():
 	end.
 
-	define public static variable DefaultArraySize as integer no-undo.
-
+     constructor static Array():
+    end.
+    
+    destructor Array():
+    end.
+    
+    define public static property DefaultArraySize as integer no-undo
+     get.
+     set.
+    
 	define public property AutoExpand as logical no-undo
 		public get.
 		public set.
@@ -82,5 +89,49 @@
 
 	method protected void CloneElements ( poClone as OpenEdge.Core.Collections.ICollection):
 	end.
-
+    
+    method protected void InsertElement (input pIndex as integer,
+                                        input pElement as Progress.Lang.Object):
+    end.
+    
+    method protected void InsertElements(input pIndex as integer,
+                                         input pElement as Progress.Lang.Object extent):
+    end.
+    
+    method public logical Add(input pIndex as integer,
+                              input pElement as Progress.Lang.Object):
+    end.
+    
+    method public logical AddAll(input pIndex as integer,
+                                 input pCollection as ICollection):
+    end.  
+    
+    method public logical AddArray(input pIndex as integer,
+                                   input pArray as Progress.Lang.Object extent):
+    end.
+    
+    method public Progress.Lang.Object Get(input pIndex as integer ):
+    end.
+    
+    method public integer IndexOf( input pElement as Progress.Lang.Object ):
+    end.
+    
+    method public IListIterator ListIterator():
+    end.
+    
+    method public IListIterator ListIterator(input pIndex as integer):
+    end.
+    
+    method public integer LastIndexOf(input pElement as Progress.Lang.Object):
+    end.
+    
+    method public Progress.Lang.Object Remove(input pIndex as integer):
+    end.
+    
+    method public IList SubList(input pFromIndex as integer,
+                                input pToIndex as integer):
+    end.
+    
+    method public override logical Equals(o as Object):
+    end.
 end.

=== modified file 'oo4gl/OpenEdge/Core/Collections/List.cls'
--- old/oo4gl/OpenEdge/Core/Collections/List.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/List.cls	2026-01-30 14:27:44 +0000
@@ -1,8 +1,9 @@
 class OpenEdge.Core.Collections.List
-	inherits OpenEdge.Core.Collections.AbstractTTCollection
-	implements OpenEdge.Core.Collections.IList, 
-		OpenEdge.Core.Collections.ICollection, 
-		OpenEdge.Core.Collections.IIterable:
+serializable
+implements OpenEdge.Core.Collections.IList:
+
+	define public property Size as integer no-undo
+		public get.
 
 	constructor public List ():
 	end.
@@ -10,6 +11,9 @@
 	constructor public List ( list as OpenEdge.Core.Collections.IList):
 	end.
 
+    constructor private List (input pBackingList as Progress.Collections.IList<Progress.Lang.Object>):
+    end.
+
 	constructor protected List ( poCol as OpenEdge.Core.Collections.ICollection, phtt as handle, pcField as character):
 	end.
 
@@ -30,6 +34,9 @@
 	method public logical Add ( seq as integer, obj as Progress.Lang.Object):
 	end.
 
+	method public logical AddNull():
+    end method.
+
 	method public override logical Add ( obj as Progress.Lang.Object):
 	end.
 
@@ -42,6 +49,30 @@
 	method public logical AddArray ( seq as integer, obj as Progress.Lang.Object extent ):
 	end.
 
+    method public logical AddArray(input pItems as Progress.Lang.Object extent):
+    end.
+
+	method public logical ContainsAll(input poCollection as OpenEdge.Core.Collections.ICollection ):
+    end.
+
+	method public logical Contains( input poElement as Progress.Lang.Object ):
+    end.
+
+	method public void ToTable( output table-handle tt):
+    end.
+
+    method public logical RemoveAll( input poCollection as OpenEdge.Core.Collections.ICollection ):
+    end.
+
+	method public logical RetainAll( input poCollection as OpenEdge.Core.Collections.ICollection):
+    end.
+
+	method public void Clear(  ):
+    end.
+
+    method public Object extent ToArray(  ):
+    end.
+
 	method public override logical Equals ( o as Progress.Lang.Object):
 	end.
 

=== modified file 'oo4gl/OpenEdge/Core/Collections/ListIterator.cls'
--- old/oo4gl/OpenEdge/Core/Collections/ListIterator.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/ListIterator.cls	2026-01-30 14:30:31 +0000
@@ -1,7 +1,12 @@
 class OpenEdge.Core.Collections.ListIterator
-	inherits OpenEdge.Core.Collections.Iterator
-	implements OpenEdge.Core.Collections.IListIterator, 
-		OpenEdge.Core.Collections.IIterator:
+	implements OpenEdge.Core.Collections.IListIterator:
+
+    constructor package-private ListIterator(input pList as Progress.Collections.IList<Progress.Lang.Object>):
+    end.
+
+	constructor package-private ListIterator(input pList as Progress.Collections.IList<Progress.Lang.Object>,
+                                             input pIdx as integer):
+    end.
 
 	constructor public ListIterator ( poCol as OpenEdge.Core.Collections.ICollection, tt as handle, objField as character, seqField as character):
 	end.
@@ -21,4 +26,12 @@
 	method public integer NextIndex ():
 	end.
 
+	method public logical HasNext():
+    end.
+
+    method public Progress.Lang.Object Next(  ):
+    end.
+
+    method public logical Remove():
+    end.
 end.

=== modified file 'oo4gl/OpenEdge/Core/Collections/Stack.cls'
--- old/oo4gl/OpenEdge/Core/Collections/Stack.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/Stack.cls	2026-01-30 14:31:59 +0000
@@ -12,6 +12,9 @@
 	constructor public Stack ():
 	end.
 
+	constructor static Stack():
+    end.
+
 	define public static variable DefaultStackDepth as integer no-undo.
 
 	define public property AutoExpand as logical no-undo

=== modified file 'oo4gl/OpenEdge/Core/Collections/StringCollection.cls'
--- old/oo4gl/OpenEdge/Core/Collections/StringCollection.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Collections/StringCollection.cls	2026-01-30 14:53:42 +0000
@@ -1,9 +1,7 @@
 class OpenEdge.Core.Collections.StringCollection
 	inherits OpenEdge.Core.Collections.Collection
-	implements OpenEdge.Core.Collections.IStringCollection, 
-		OpenEdge.Core.Collections.ICollection, 
-		OpenEdge.Core.Collections.IIterable:
-
+	implements OpenEdge.Core.Collections.IStringCollection:
+	
 	constructor public StringCollection ():
 	end.
 

=== modified file 'oo4gl/OpenEdge/Core/Decimal.cls'
--- old/oo4gl/OpenEdge/Core/Decimal.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Decimal.cls	2026-01-30 13:33:38 +0000
@@ -1,6 +1,7 @@
 class OpenEdge.Core.Decimal
 	implements Ccs.Common.Support.IDecimalHolder, 
-		Ccs.Common.Support.IPrimitiveHolder:
+	Progress.Collections.IComparable<Ccs.Common.Support.IDecimalHolder>,
+	Progress.Collections.IHashable:
 
 	constructor public Decimal ( pdVal as decimal):
 	end.
@@ -15,4 +16,9 @@
 	method public override logical Equals ( PO as Progress.Lang.Object):
 	end.
 
+	method public integer CompareTo (input pOther as Ccs.Common.Support.IDecimalHolder):
+    end.
+
+    method public integer HashCode ( ):
+    end.
 end.

=== modified file 'oo4gl/OpenEdge/Core/Integer.cls'
--- old/oo4gl/OpenEdge/Core/Integer.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Integer.cls	2026-01-30 13:34:24 +0000
@@ -1,6 +1,8 @@
 class OpenEdge.Core.Integer
 	implements Ccs.Common.Support.IInt64Holder, 
-		Ccs.Common.Support.IPrimitiveHolder:
+		       Progress.Collections.IComparable<Ccs.Common.Support.IInt64Holder>,
+			   Progress.Collections.IHashable
+:
 
 	constructor public Integer ( piValue as int64):
 	end.
@@ -18,4 +20,9 @@
 	method public override character ToString ():
 	end.
 
+	method public integer CompareTo (input pOther as Ccs.Common.Support.IInt64Holder):
+    end method.
+
+    method public integer HashCode ( ):
+    end method.
 end.

=== modified file 'oo4gl/OpenEdge/Core/LongcharArrayHolder.cls'
--- old/oo4gl/OpenEdge/Core/LongcharArrayHolder.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/LongcharArrayHolder.cls	2026-01-30 13:36:50 +0000
@@ -1,10 +1,12 @@
 class OpenEdge.Core.LongcharArrayHolder
-	implements Ccs.Common.Support.ILongcharArrayHolder, 
-		Ccs.Common.Support.IPrimitiveArrayHolder:
+	implements Ccs.Common.Support.ILongcharArrayHolder:
 
 	constructor public LongcharArrayHolder ():
 	end.
 
+	constructor public LongcharArrayHolder(input pSize as integer):
+    end.
+
 	constructor public LongcharArrayHolder ( pcValue as longchar extent ):
 	end.
 

=== modified file 'oo4gl/OpenEdge/Core/StringConstant.cls'
--- old/oo4gl/OpenEdge/Core/StringConstant.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/StringConstant.cls	2026-01-30 13:41:34 +0000
@@ -1,7 +1,7 @@
 class OpenEdge.Core.StringConstant abstract:
 
-	constructor public StringConstant ():
-	end.
+    constructor static StringConstant():
+    end.
 
 	define public static property TAB as character no-undo
 		public get.
@@ -55,4 +55,11 @@
 	define public static property UNKNOWN as character no-undo
 		public get.
 
+	define static public property US    as character no-undo get. private set.   
+
+	define static public property PAREN_OPEN    as character no-undo get.
+
+	define static public property PAREN_CLOSE   as character no-undo get.
+
+	define static public property EMPTY as character no-undo get.
 end.

=== modified file 'oo4gl/OpenEdge/Core/System/InvalidValueSpecifiedError.cls'
--- old/oo4gl/OpenEdge/Core/System/InvalidValueSpecifiedError.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/System/InvalidValueSpecifiedError.cls	2026-01-30 14:56:11 +0000
@@ -2,6 +2,9 @@
 	inherits OpenEdge.Core.System.ApplicationError
 :
 
+    constructor static InvalidValueSpecifiedError():
+    end.
+
 	constructor protected InvalidValueSpecifiedError ():
 	end.
 

=== modified file 'oo4gl/OpenEdge/Core/System/NotFoundError.cls'
--- old/oo4gl/OpenEdge/Core/System/NotFoundError.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/System/NotFoundError.cls	2026-01-30 14:56:51 +0000
@@ -1,6 +1,8 @@
 class OpenEdge.Core.System.NotFoundError
 	inherits OpenEdge.Core.System.ApplicationError
 :
+    constructor static NotFoundError():
+    end.
 
 	constructor public NotFoundError ( poErr as Progress.Lang.Error, pcArgs1 as character, pcArgs2 as character):
 	end.

=== modified file 'oo4gl/OpenEdge/Core/TimeStamp.cls'
--- old/oo4gl/OpenEdge/Core/TimeStamp.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/TimeStamp.cls	2026-01-30 13:59:45 +0000
@@ -1,4 +1,7 @@
-class OpenEdge.Core.TimeStamp:
+class OpenEdge.Core.TimeStamp
+implements Progress.Collections.IComparable<OpenEdge.Core.TimeStamp>
+         , Progress.Collections.IHashable
+:
 
 	constructor public TimeStamp ( ptTimeStamp as date):
 	end.
@@ -40,6 +43,9 @@
 	method public static datetime ToABLDateTimeFromISO ( pcValue as character):
 	end.
 
+    method static public datetime-tz TryParseTimestamp (input pValue as character):
+    end.
+
 	method public static datetime-tz ToABLDateTimeTzFromISO ( pcValue as character):
 	end.
 
@@ -64,4 +70,12 @@
 	method public integer ToTime ():
 	end.
 
+    method public int64 MillisecondsSinceUnixEpoch ( ):
+    end.
+    
+    method public integer CompareTo (input pOther as TimeStamp):
+    end.
+
+    method public integer HashCode ( ):
+    end.
 end.

=== modified file 'oo4gl/OpenEdge/Core/Util/Token.cls'
--- old/oo4gl/OpenEdge/Core/Util/Token.cls	2021-03-05 08:48:44 +0000
+++ new/oo4gl/OpenEdge/Core/Util/Token.cls	2026-01-30 15:07:14 +0000
@@ -1,4 +1,7 @@
-class OpenEdge.Core.Util.Token:
+class OpenEdge.Core.Util.Token serializable
+implements Progress.Collections.IComparable<OpenEdge.Core.Util.Token>
+         , Progress.Collections.IHashable
+:
 
 	constructor public Token ( pGroup as character, pArg as character):
 	end.
@@ -14,11 +17,28 @@
 	define public property Value as character no-undo
 		public get.
 		public set.
+		
+	define public property AllowUnknownValue as logical no-undo
+		public get.
+		private set.
+
+    constructor public Token (input pGroup as character,
+                              input pArg   as character,
+                              input pUnknownValAllowed as logical):
+    end.
 
 	method public static OpenEdge.Core.Util.Token Parse ( pToken as character):
 	end.
 
 	method public override character ToString ():
 	end.
-
+    
+	method override public logical Equals (input pCompare as Progress.Lang.Object):
+    end.
+    
+    method public integer CompareTo (input pOther as Token):
+    end.
+    
+    method public integer HashCode ( ):
+    end.
 end.

=== modified file 'oo4gl/OpenEdge/Core/Util/TokenResolver.cls'
--- old/oo4gl/OpenEdge/Core/Util/TokenResolver.cls	2020-07-29 11:20:46 +0000
+++ new/oo4gl/OpenEdge/Core/Util/TokenResolver.cls	2026-01-30 15:12:45 +0000
@@ -44,5 +44,24 @@
 	end.
 
 	define public static event TokenResolved void ( pSender as Progress.Lang.Object, pArgs as OpenEdge.Core.Util.TokenResolverEventArgs).
+   
+	method static private character extent SplitTokenArg (input pTokenArg as character):
+    end.
+
+	method static public character ResolveSession(input pTokenArg as character,
+                                                  input pSessionCtx as character):
+    end.
+
+	method static public void ResolveToken(input pToken as OpenEdge.Core.Util.Token,
+                                           input pContext as Progress.Lang.Object):
+    end.
+
+    method static public character ResolveToken(input pTokenGroup as character,
+                                                input pTokenArg as character,
+                                                input pContext as Progress.Lang.Object):
+    end.
+
+    method static public OpenEdge.Core.Util.Token extent Parse(input pBaseString as character):
+    end.
 
 end.

=== modified file 'oo4gl/OpenEdge/Logging/LogEvent.cls'
--- old/oo4gl/OpenEdge/Logging/LogEvent.cls	2021-03-05 08:48:44 +0000
+++ new/oo4gl/OpenEdge/Logging/LogEvent.cls	2026-01-30 15:15:23 +0000
@@ -12,6 +12,9 @@
 	constructor public LogEvent ( poLevel as OpenEdge.Logging.LogLevelEnum, poMessage as OpenEdge.Logging.LogMessage):
 	end.
 
+	destructor public LogEvent():
+    end.
+
 	define public property Logger as OpenEdge.Logging.ILogWriter no-undo
 		public get.
 		public set.

=== modified file 'oo4gl/OpenEdge/Logging/LogMessage.cls'
--- old/oo4gl/OpenEdge/Logging/LogMessage.cls	2021-03-05 09:18:41 +0000
+++ new/oo4gl/OpenEdge/Logging/LogMessage.cls	2026-01-30 15:37:49 +0000
@@ -6,6 +6,8 @@
 
   define public property Message as character get.
 
+  define public property Tokens as Progress.Collections.ISet<OpenEdge.Core.Util.Token> no-undo get.
+
   constructor public LogMessage(p1 as character, p2 as character):
   end.
 
@@ -44,4 +46,10 @@
 
   	method public Progress.Lang.Object GetContext ( pKey as character):
 	  end.
+
+  method public logical AddTokens(input pTokens as OpenEdge.Core.Util.Token extent):
+  end.
+
+  method public logical AddToken(input pToken as OpenEdge.Core.Util.Token):
+  end.
 end.

=== modified file 'oo4gl/OpenEdge/Security/Principal.cls'
--- old/oo4gl/OpenEdge/Security/Principal.cls	2025-04-02 13:57:13 +0000
+++ new/oo4gl/OpenEdge/Security/Principal.cls	2026-01-30 15:39:56 +0000
@@ -5,6 +5,9 @@
 
 	constructor public Principal ( phClientPrincipal as handle, plAutoDestroy as logical):
 	end.
+    
+	destructor Principal():
+    end. 
 
 	define public property Token as handle no-undo
 		public get.

