case Event.GET_APPLSTATE: handleStateRequest(evt); break;  case Event.GET_STATE_OK: handleStateResponse(evt); break;
    public void up(Event evt) {        // remove header and dispatch to correct MuxChannel        MuxHeader hdr;        switch(evt.getType()) {            case Event.MSG:                Message msg=(Message)evt.getArg();                hdr=(MuxHeader)msg.getHeader("MUX");                if(hdr == null) {                    log.error("MuxHeader not present - discarding message " + msg);                    return;                }                MuxChannel mux_ch=(MuxChannel)apps.get(hdr.id);                if(mux_ch == null) {                    log.error("didn't find an application for id=" + hdr.id + " discarding messgage " + msg);                    return;                }                if(log.isTraceEnabled())                    log.trace("dispatching message to " + hdr.id);                mux_ch.up(evt);                break;            case Event.VIEW_CHANGE:                // throw new UnsupportedOperationException("VIEW_CHANGE event");                passToAllMuxChannels(evt);                break;            case Event.SUSPECT:                passToAllMuxChannels(evt);                break;            default:                passToAllMuxChannels(evt);                break;        }    }