```mermaid graph TB Clone[Clone
std trait]:::stdTrait Debug[Debug
std trait]:::stdTrait UpnpDeepClone[UpnpDeepClone
deep_clone]:::baseTrait UpnpObject[UpnpObject
to_xml_element
to_xml
to_markdown]:::baseTrait UpnpModel[UpnpModel
create_instance]:::derived1 UpnpInstance[UpnpInstance
new]:::derived1 UpnpTyped[UpnpTyped
get_name
get_object_type]:::derived1 UpnpSet[UpnpSet
is_set]:::derived1 UpnpTypedObject[UpnpTypedObject
marker]:::derived2 UpnpTypedInstance[UpnpTypedInstance
marker]:::derived3 UpnpModelSet[UpnpModelSet
marker]:::derived3 UpnInstanceSet[UpnInstanceSet
marker]:::derived3 Clone --> UpnpObject Debug --> UpnpObject UpnpObject --> UpnpModel UpnpObject --> UpnpInstance UpnpObject --> UpnpTyped UpnpObject --> UpnpSet UpnpObject --> UpnpTypedObject UpnpTyped --> UpnpTypedObject UpnpTypedObject --> UpnpTypedInstance UpnpInstance --> UpnpTypedInstance UpnpSet --> UpnpModelSet UpnpModel --> UpnpModelSet UpnpSet --> UpnInstanceSet UpnpInstance --> UpnInstanceSet classDef stdTrait fill:#e1f5ff,stroke:#01579b,stroke-width:2px classDef baseTrait fill:#fff3e0,stroke:#e65100,stroke-width:2px classDef derived1 fill:#f3e5f5,stroke:#4a148c,stroke-width:2px classDef derived2 fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px classDef derived3 fill:#fce4ec,stroke:#880e4f,stroke-width:2px ```