String currConsumerID = theState.getAsfConsumerID();
   public Object handleAddAsfMessage(Invocation invocation) throws Throwable   {      if (log.isTraceEnabled()) { log.trace("addAsfMessage"); }            MethodInvocation mi = (MethodInvocation)invocation;            //Load the session with a message to be processed during a subsequent call to run()            SessionState theState = getSessionState(invocation);            Message m = (Message)mi.getArguments()[0];      String theConsumerID = (String)mi.getArguments()[1];      ConsumerDelegate cons = (ConsumerDelegate)mi.getArguments()[2];            String currConsumerID = theState.getAsfConsumerID();            if (m == null)      {         throw new IllegalStateException("Cannot add a null message to the session");      }      if (theConsumerID == null)      {         throw new IllegalStateException("Cannot add a message without specifying receiverID");      }            if (currConsumerID != null && currConsumerID != theConsumerID)      {         throw new IllegalStateException("Cannot receive messages from more than one receiver");      }      theState.setAsfConsumerID(theConsumerID);            AsfMessageHolder holder = new AsfMessageHolder();      holder.msg = m;      holder.consumerID = theConsumerID;      holder.consumerDelegate = cons;            msgs.add(holder);      return null;   }