/**
  * Sends a heartbeat through the interceptor stack.<br>
  * Invoke this method from the application on a periodic basis if you have turned off internal
  * heartbeats <code>channel.setHeartbeat(false)</code>
  */
 @Override
 public void heartbeat() {
   super.heartbeat();
   Iterator<Object> i = membershipListeners.iterator();
   while (i.hasNext()) {
     Object o = i.next();
     if (o instanceof Heartbeat) ((Heartbeat) o).heartbeat();
   }
   i = channelListeners.iterator();
   while (i.hasNext()) {
     Object o = i.next();
     if (o instanceof Heartbeat) ((Heartbeat) o).heartbeat();
   }
 }
 @Override
 public void heartbeat() {
   if (clusterSender != null) clusterSender.heartbeat();
   super.heartbeat();
 }