An immutable default implementation for configuration nodes.
This class is used for an in-memory representation of hierarchical configuration data. It stores typical information like a node name, a value, child nodes, or attributes.
After their creation, instances cannot be manipulated. There are methods for updating properties, but these methods return new {@code ImmutableNode}instances. Instances are created using the nested {@code Builder} class.
@version $Id: ImmutableNode.java 1624601 2014-09-12 18:04:36Z oheger $
@since 2.0