TMultiFileLooper Node1 TMultiFileLooper + TMultiFileLooper() + ~TMultiFileLooper() + run() + run() + addFile() Node2 TFileLooper + TFileLooper() + ~TFileLooper() + TFileLooper() + operator=() + run() + processKey() * m_rootDir * m_skipDirs * m_verbose * m_passBeforeFail * m_errorCode * beginJob() * endJob() * beforeFile() * afterFile() * beforeDir() and 18 more... Node2->Node1 Node3 TFile Node3->Node2 #m_file Node4 std::vector< std::string > Node4->Node2 #m_skippedObjects Node5 std::string Node5->Node4 +elements Node6 std::basic_string< char > Node6->Node5 Node7 std::vector< TPRegexp > + elements Node7->Node2 #m_passRE #m_failRE Node8 std::vector< TString > + elements Node8->Node1 -m_fileList