/** {@inheritDoc} */
 @Override
 public void expire() {
   try {
     eventDispatcher.shutdown();
   } finally {
     super.expire();
   }
 }
 /**
  * Submits {@link #notifySctpConnectionReadyInEventDispatcher()} to {@link #eventDispatcher} for
  * asynchronous execution.
  */
 private void notifySctpConnectionReady() {
   if (!isExpired()) {
     eventDispatcher.execute(
         new Runnable() {
           @Override
           public void run() {
             notifySctpConnectionReadyInEventDispatcher();
           }
         });
   }
 }
 /**
  * Submits {@link #notifyChannelOpenedInEventDispatcher(WebRtcDataStream)} to {@link
  * #eventDispatcher} for asynchronous execution.
  *
  * @param dataChannel
  */
 private void notifyChannelOpened(final WebRtcDataStream dataChannel) {
   if (!isExpired()) {
     eventDispatcher.execute(
         new Runnable() {
           @Override
           public void run() {
             notifyChannelOpenedInEventDispatcher(dataChannel);
           }
         });
   }
 }