docs: final Channel openChannel(final Connection connection, final String serviceType, final OptionMap options, final Long deadline) throws IOException {
          final IoFuture<Channel> futureChannel = connection.openChannel(serviceType, options);
          long waitTime = deadline == null ? 10000 : Math.max(10000, deadline - System.currentTimeMillis());
          futureChannel.await(waitTime, TimeUnit.MILLISECONDS);
          if (futureChannel.getStatus() == IoFuture.Status.WAITING) {
              futureChannel.cancel();
              throw ProtocolLogger.ROOT_LOGGER.channelTimedOut();
          }
          return futureChannel.get();
      }