|The Composite design pattern|
A Composite design pattern composes objects into tree structures.
Clients operate uniformly on leaves and composite nodes
A template of the class structure in the Composite design pattern.
The tree structure may be non-mutable and built via constructors
Alternatively, the tree structure may be mutable, and built via Add and Remove operations