Object tmp=msg.getObject();
Message tmp=(Message)msg.getObject(); tmp.setSrc(msg.getSrc());
   public void up(Event evt)   {      switch (evt.getType())      {         case Event.SET_LOCAL_ADDRESS:            localAddress = (Address) evt.getArg();            localVector = new VectorTime(localAddress);            delayQueue = new LinkedList();            break;         case Event.VIEW_CHANGE:            Vector newViewMembers = ((View) evt.getArg()).getMembers();            localVector.merge((Vector) newViewMembers.clone());            localVector.reset();            break;         case Event.MSG:            Object obj = null;            Message msg = (Message) evt.getArg();            if (!((obj = msg.getHeader(getName())) instanceof CausalHeader))            {               if(log.isErrorEnabled()) log.error("NO CAUSAL.Header found");	       passUp(evt);	       return;            }            CausalHeader header = (CausalHeader) obj;            TransportedVectorTime messageVector = header.getVectorTime();            synchronized (this)            {               if (localVector.isCausallyNext(messageVector))               {                   Object tmp=msg.getObject();                   passUp(new Event(Event.MSG, tmp));                  localVector.max(messageVector);               }               else               {                  messageVector.setAssociatedMessage(msg);                  addToDelayQueue(messageVector);               }               TransportedVectorTime queuedVector = null;               while ((delayQueue.size() > 0) &&                     localVector.isCausallyNext((queuedVector = (TransportedVectorTime) delayQueue.getFirst())))               {                  delayQueue.remove(queuedVector);                   Object tmp=queuedVector.getAssociatedMessage().getObject();                   passUp(new Event(Event.MSG, tmp));                  localVector.max(queuedVector);               }               return;            }      }      passUp(evt);   }