Ringer::PreProcessing::IPreProcessor Node1 Ringer::PreProcessing ::IPreProcessor * execute() Node2 Ringer::IRingerProcedure + write() + ~IRingerProcedure() Node2->Node1 Node3 IRedirectMsgStream Node3->Node2