anchor.diff:  that if encoders is specified then the encoder param will be ignored,
   similarly for decoders and the decoder param.
   
  -INFO: Read further above about using non shareable encoders/decoders.
  +NOTE: Read further above about using non shareable encoders/decoders.
   
   The lists of codecs need to be added to the Camel's registry so they can
   be resolved when the endpoint is created.
   
   [source,java]
  --------------------------------------------------------------------------------------------------------------------
  +----
   ChannelHandlerFactory lengthDecoder = ChannelHandlerFactories.newLengthFieldBasedFrameDecoder(1048576, 0, 4, 0, 4);
    
   StringDecoder stringDecoder = new StringDecoder();
  
positive.code: ...
    <to uri="netty4:tcp://localhost:5150?sync=true&ssl=true&sslContextParameters=#sslContextParameters"/>
  ...
  -------------------------------------------------------------------------------------------------------
  
  [[Netty4-UsingBasicSSL/TLSconfigurationontheJettyComponent]]
  Using Basic SSL/TLS configuration on the Jetty Component
  
  [source,java]
  ------------------------------------------------------------------------------
  JndiRegistry registry = new JndiRegistry(createJndiContext());
  registry.bind("password", "changeit");
  registry.bind("ksf", new File("src/test/resources/keystore.jks"));
  
negative.code: header on the Camel Message as shown below:
  
  [source,java]
  ----
  SSLSession session = exchange.getIn().getHeader(NettyConstants.NETTY_SSL_SESSION, SSLSession.class);
  // get the first certificate which is client certificate
  javax.security.cert.X509Certificate cert = session.getPeerCertificateChain()[0];
  Principal principal = cert.getSubjectDN();
  ----
  
  Remember to set `needClientAuth=true` to authenticate the client,
  otherwise `SSLSession` cannot access information about the client
  