Implementation of "Composite" design pattern used for items in doc ( "Design Patterns: Elements of Reusable Object-Oriented Software", first edition, 1995 )