SH::DiskWriterXRD Node1 SH::DiskWriterXRD + testInvariant() + DiskWriterXRD() + ~DiskWriterXRD() - getPath() - getFile() - doClose() Node2 SH::DiskWriter + testInvariant() + DiskWriter() + ~DiskWriter() + path() + file() + close() - getPath() - getFile() - doClose() Node2->Node1 Node3 std::unique_ptr< TFile > + operator->() Node3->Node1 -m_file Node4 TFile Node4->Node3 +ptr Node5 std::string Node5->Node1 -m_tmp -m_path Node6 std::basic_string< char > Node6->Node5