code: protected Channel provideChannel() throws IOException {
          if (channel == null || !channel.isOpen()) {
              Connection connection = connectionFactory.newConnection();
              channel = connection.createChannel();
          }
          return channel;
      }
docs: Initializes a channel if there is not already an open channel.
  
  @return The initialized or already open channel.
  @throws IOException if the channel cannot be initialized