if(!usePullMode) {
if(useDispacher) { RpcDispatcher disp = new RpcDispatcher(ch,this,this,this); } else if (!usePullMode) {
		public void run() {			try {				ch = new JChannel(CHANNEL_PROPS);				ch.setOpt(Channel.AUTO_RECONNECT, Boolean.TRUE);	            ch.setOpt(Channel.AUTO_GETSTATE, Boolean.TRUE);	            if(!usePullMode)	            {	            	ch.setReceiver(this);	            }				ch.connect("transfer");					if(ran.nextBoolean())				{					ch.getState(null,5000);				}				else				{					String randomStateId = Long.toString(Math.abs(ran.nextLong()), 36);					ch.getState(null,randomStateId,5000);				}			} catch (Exception e) {				e.printStackTrace();			}						while (running) {				Object msgReceived = null;				try {					msgReceived = ch.receive(0);					if (!running) {						// I am not a group member anymore so						// I will discard any transient message I						// receive					} else {						if (msgReceived instanceof View) {													} else if (msgReceived instanceof StreamingGetStateEvent) {							StreamingGetStateEvent evt = (StreamingGetStateEvent) msgReceived;							if(evt.getStateId()!=null)							{								this.getState(evt.getStateId(),evt.getArg());								}							else							{								this.getState(evt.getArg());							}						} else if (msgReceived instanceof StreamingSetStateEvent) {							StreamingSetStateEvent evt = (StreamingSetStateEvent) msgReceived;							if(evt.getStateId()!=null)							{								this.setState(evt.getStateId(),evt.getArg());							}							else							{								this.setState(evt.getArg());							}						}					}				} catch (TimeoutException e) {				} catch (Exception e) {					ch.close();					running = false;				}						}							}