The object reference for the next ABL or .NET class instance in the list of instances created in the current ABL session. The value of this property is available after obtaining a valid object reference (for example, by using the SESSION:FIRST-OBJECT attribute to obtain the object reference for the first class instance in the list). If there are no class object instances in the current session, or you have gone past the last class instance in the list, this attribute returns the Unknown value (?).
Once your position in the list is established, you can use the NEXT-SIBLING and PREV-SIBLING properties to walk the list of class object instances.
There are two points worth noting about this property with garbage collection enabled:
The object references maintained by the NEXT-SIBLING property and the FIRST-OBJECT attribute do not count as references for garbage collection. That is, if a class instance is referenced only on the session object chain, it is available for automatic garbage collection.
When an ABL object that inherits from a .NET object is on the session object chain, it can have circular references that prevent it from being deleted (as with pure ABL objects). When there are no more ABL references to such an ABL-derived .NET object, the object is removed from the object chain, but may still be instantiated because of references to it from .NET. If the application re-obtains a reference to the object in ABL by getting it from .NET, the reference is again placed on the object chain.
To check the validity of an object reference, use the VALID-OBJECT function.