Athena::xAODCnvSvc Node1 Athena::xAODCnvSvc + xAODCnvSvc() + ~xAODCnvSvc() + initialize() + finalize() + queryInterface() + updateServiceState() + createObj() + createRep() + fillRepRefs() + connectOutput() + connectOutput() + commitOutput() + createAddress() + convertAddress() + createAddress() + interfaceID() # createConverter() - xAODCnvSvc() Node2 IConversionSvc Node2->Node1 Node3 AthCnvSvc + AthCnvSvc() + initialize() + finalize() + queryInterface() * repSvcType() * objType() * setDataProvider() * dataProvider() * setConversionSvc() * conversionSvc() * setAddressCreator() * addressCreator() * createObj() * fillObjRefs() and 14 more... * CallMutex * m_dataSvc * m_addressCreator * m_cnvSvc * m_type * m_workers * m_conv_mut * createAddress() * convertAddress() * createAddress() and 12 more... Node2->Node3 Node3->Node1 Node4 IAddressCreator Node4->Node3 Node5 AthService - AthService() - AthService() - operator=() Node5->Node3 Node6 AthCommonMsg< Service > + msg() + msg() + msgLvl() Node6->Node5 Node7 Service Node7->Node6