code: @Override
      public void handlerAdded(ChannelHandlerContext ctx) throws Exception {
          if (ctx.channel().isRegistered()) {
              // This should always be true with our current DefaultChannelPipeline implementation.
              // The good thing about calling initChannel(...) in handlerAdded(...) is that there will be no ordering
              // surprises if a ChannelInitializer will add another ChannelInitializer. This is as all handlers
              // will be added in the expected order.
              if (initChannel(ctx)) {
  
                  // We are done with init the Channel, removing the initializer now.
                  removeState(ctx);
              }
          }
      }
docs: {@inheritDoc} If override this method ensure you call super!