@Override
 public Destination getReplyTo() {
   try {
     destResolver.destinationReady();
   } catch (InterruptedException e) {
     log.warn("Interrupted while waiting for JMSReplyTo destination refresh", e);
   }
   return super.getReplyTo();
 }
 @Override
 public void onException(JMSException exception) {
   // capture exceptions, and schedule a refresh of the ReplyTo destination
   log.warn(
       "Exception inside the DMLC for Temporary ReplyTo Queue for destination "
           + endpoint.getDestinationName()
           + ", refreshing ReplyTo destination",
       exception);
   destResolver.scheduleRefresh();
   // serve as a proxy for any exception listener the user may have set explicitly
   if (delegate != null) {
     delegate.onException(exception);
   }
 }