code: function() {
        let deferred = DeferredPromise();
        logger.debug(`Destroy called on exchange ${this.name} - ${connection.name} (${this.published.count()} messages pending)`);
        this.handle('destroy', deferred);
        return deferred.promise;
      }
docs: Destroy the exchange
  
  @public
  @memberOf ExchangeMachine.prototype
  @returns {Promise} a promise that is fulfilled when destruction is complete