code: private void migrateConfiguration(Channel channel) throws Exception {
      channel.setDefaultConsumer(delegate.getDefaultConsumer());
      if (flowBlocked)
        channel.flowBlocked();
      if (basicQos != null)
        basicQos.invoke(channel);
      if (confirmSelect)
        channel.confirmSelect();
      if (txSelect)
        channel.txSelect();
      synchronized (shutdownListeners) {
        for (ShutdownListener listener : shutdownListeners)
          channel.addShutdownListener(listener);
      }
      for (ConfirmListener listener : confirmListeners)
        channel.addConfirmListener(listener);
      for (FlowListener listener : flowListeners)
        channel.addFlowListener(listener);
      for (ReturnListener listener : returnListeners)
        channel.addReturnListener(listener);
    }
docs: Migrates the channel's configuration to the given {@code channel}.