if(observer != null) observer.passDown(evt);
    public void down(Event evt) {            if(log.isInfoEnabled()) log.info("event is " + evt + ", group_addr=" +                group_addr + ", time=" + System.currentTimeMillis() +                 ", hdrs are " + Util.printEvent(evt));        // handle all non-message events        if(evt.getType() != Event.MSG) {                 handleDownEvent(evt);                return;        }        // extract message        Message msg=(Message)evt.getArg();        // Because we don't call Protocol.passDown(), we notify the observer        // directly (e.g. PerfObserver).        // This way, we still have performance numbers for UDP        if(observer != null)                observer.passDown(evt);        // publish the message to the topic        sendMessage(msg);    }