SH::DiskWriter Node1 SH::DiskWriter + testInvariant() + DiskWriter() + ~DiskWriter() + path() + file() + close() - getPath() - getFile() - doClose() Node2 SH::DiskWriterLocal - m_path - m_file + testInvariant() + DiskWriterLocal() + ~DiskWriterLocal() - getPath() - getFile() - doClose() Node1->Node2 Node3 SH::DiskWriterXRD - m_tmp - m_path - m_file + testInvariant() + DiskWriterXRD() + ~DiskWriterXRD() - getPath() - getFile() - doClose() Node1->Node3