class ChiefControllerMessageEvent extends MultiUserEvent {

    @Override
    public boolean equals(Object event) {
        if (event != null && event instanceof ChiefControllerMessageEvent) {
            ChiefControllerMessageEvent other = (ChiefControllerMessageEvent) event;
            boolean sameCommand = other.getCommand().equals(this.getCommand());
            String othersMsg = other.getMsg();
            boolean sameMsg = ((msg == null && othersMsg == null));// case for CLEAR
            sameMsg = sameMsg || (msg != null && msg.equals(othersMsg));// some msg compared to CLEAR or others
            sameMsg = sameMsg || (othersMsg != null && othersMsg.equals(msg));// CLEAR compared to other msg

            boolean sameClusterWide = clusterWideMessage == other.isClusterWideMessage();
            return sameCommand && sameMsg && sameClusterWide;
        }
        return false;
    }

    public  ChiefControllerMessageEvent();
    private  ChiefControllerMessageEvent(String command);

}