This is a iterable nested data structure for different data types. For a quick start open Test List.vi to see basic operations.
Add Node.vim Add a data to a collection. Nodes can have different types of data, but type is needed when data is read from the node.
Start Iteration.vi Reset iteration index.
Read Node.vim Iterate to next node and return data. Read Node needs the data type input to return correct type.
Node of the collection can be another collection object. Iterator uses recursion to read each node from the input collection.
Node (and collection) can be labeled with Write Label.vi. Add Node to Label.vim can be used to add a node to a specific collection inside input collection.
Search Node.vi returns a labelled node. Labels are not forced to be unique and therefore search will return the first node to match the label.
Backward iteration (or step back) is not implemented.
In original use this class was actually a collection of methods to execute. Different actions inherited from the Node class and implemented a Execute Node.vi. I was trying to do something similar using malleable VI and class adaptation, but it doesn't really work as a interface class. There's an example in Test Method Call.vi.