code: @Handler(channels = EncryptedChannel.class)
      public void onInput(
              Input<ByteBuffer> event, IOSubchannel encryptedChannel)
              throws InterruptedException, SSLException, ExecutionException {
          @SuppressWarnings({ "unchecked", "PMD.AvoidDuplicateLiterals" })
          final Optional<PlainChannel> plainChannel
              = (Optional<PlainChannel>) LinkedIOSubchannel
                  .downstreamChannel(this, encryptedChannel);
          if (plainChannel.isPresent()) {
              plainChannel.get().sendDownstream(event);
          }
      }
docs: Handles encrypted data from upstream (the network). The data is
  send through the {@link SSLEngine} and events are sent downstream
  (and in the initial phases upstream) according to the conversion
  results.
  
  @param event the event
  @param encryptedChannel the channel for exchanging the encrypted data
  @throws InterruptedException
  @throws SSLException
  @throws ExecutionException