class NettyMultiplexerConnectionHandler extends NettyConnectionHandler {

    /**
     * Enable / disable backup delivery of stanzas to other connections in the same connection manager when a stanza
     * failed to be delivered on a multiplexer (connection manager) connection. When disabled, stanzas that can not
     * be delivered on the connection are discarded.
     */
    public static final SystemProperty<Boolean> BACKUP_PACKET_DELIVERY_ENABLED = SystemProperty.Builder.ofType(Boolean.class)
        .setKey("xmpp.multiplex.backup-packet-delivery.enabled")
        .setDefaultValue(true)
        .setDynamic(true)
        .build();
    public NettyMultiplexerConnectionHandler(ConnectionConfiguration configuration) {
        super(configuration);
    }

    @Override
    NettyConnection createNettyConnection(ChannelHandlerContext ctx) {<FILL_FUNCTION_BODY>}

    @Override
    StanzaHandler createStanzaHandler(NettyConnection connection) {
        return new MultiplexerStanzaHandler(XMPPServer.getInstance().getPacketRouter(), connection);
    }

    @Override
    public Duration getMaxIdleTime() {
        return ConnectionSettings.Multiplex.IDLE_TIMEOUT_PROPERTY.getValue();
    }

    @Override
    public String toString()
    {
        return "NettyMultiplexerConnectionHandler{" +
            "sslInitDone=" + sslInitDone +
            ", configuration=" + configuration +
            '}';
    }
}

        final PacketDeliverer backupDeliverer = BACKUP_PACKET_DELIVERY_ENABLED.getValue() ? new MultiplexerPacketDeliverer() : null;
        return new NettyConnection(ctx, backupDeliverer, configuration);
    
<methods>public void channelRead0(ChannelHandlerContext, java.lang.String) ,public void channelUnregistered(ChannelHandlerContext) throws java.lang.Exception,public void exceptionCaught(ChannelHandlerContext, java.lang.Throwable) ,public abstract java.time.Duration getMaxIdleTime() ,public void handlerAdded(ChannelHandlerContext) ,public void handlerRemoved(ChannelHandlerContext) ,public java.lang.String toString() ,public void userEventTriggered(ChannelHandlerContext, java.lang.Object) throws java.lang.Exception<variables>public static final AttributeKey<org.jivesoftware.openfire.nio.NettyConnection> CONNECTION,static final AttributeKey<org.jivesoftware.openfire.net.StanzaHandler> HANDLER,public static final AttributeKey<java.lang.Boolean> IDLE_FLAG,private static final Logger Log,protected static final ThreadLocal<org.dom4j.io.XMPPPacketReader> PARSER_CACHE,public static final AttributeKey<java.lang.Long> READ_BYTES,public static final AttributeKey<java.lang.Long> WRITTEN_BYTES,static final AttributeKey<org.jivesoftware.openfire.nio.XMLLightweightParser> XML_PARSER,protected final non-sealed org.jivesoftware.openfire.spi.ConnectionConfiguration configuration,private static XmlPullParserFactory factory,protected boolean sslInitDone