This returns the children as an iterable list. Since children can be implemented using any suitable data-structure, therefore by having an iterable list as children ensures that the children can always be iterated when required.
List<INode> get childrenAsList;