Analysis::Slice Node1 Analysis::Slice + Slice() Node2 std::string Node2->Node1 +name Node5 Analysis::Composite + Composite() Node2->Node5 +name Node7 Analysis::AtomicProperty + value + AtomicProperty() Node2->Node7 +name Node3 std::basic_string< char > Node3->Node2 Node4 std::vector< Analysis ::Composite > Node4->Node1 +composites Node5->Node4 +elements Node6 std::vector< Analysis ::AtomicProperty > Node6->Node5 +atoms Node7->Node6 +elements