@Override
 public void disconnectPort(AbstractPortController controller) {
   if (this.heartbeat != null) {
     this.heartbeat.cancel();
     this.heartbeat = null;
   }
   super.disconnectPort(controller);
 }
 @Override
 protected void notifyMessage(AbstractMRMessage m, AbstractMRListener notMe) {
   // Don't notify listeners of a heartbeat message
   if (((JsonClientMessage) m).getMessage().path(TYPE).asText().equals(PING)) {
     return;
   }
   super.notifyMessage(m, notMe);
 }