ServerNodeInterface is a generic interface for accessing
tree structured data. The ServerNodeDelegate class
implements this interface and acts as an Adaptor and Proxy
for a remote SASHELP.RSASMOD.SASNODE node object on the SAS server.
This class adapts ServerNodeInterface methods into SASNODE methods
and types (for example, converting from 0-based indexing to 1-based
indexing, or translating from HListInterface to SimpleNodeInterface[])
This delegate class also is responsible for deferring object creation
as long as possible by using the remote node's _getNodeChildren
method which returns a list of node descriptors. The remote node
need not always create the instances, but can instead pass
back more descriptive information (text, expanded text, icons,
isLeaf properties) about each node in one call, thus eiminating
the need for the client to call back to the server to read that
information about each child node. Only when the client needs
information not represented in the description list does the
client have to make a remote call. The description list can
have either a remote object ID, or it may contain the name
of an SCL class to instatiate in order to create a ServerNodeInterface.