@SuppressWarnings("unchecked")
    @Override
    public void handleOutbound(final HandlerContext ctx, final OutboundMessageEvent<?> event) throws Exception {
        if (isAcceptable(event)) {
            writeMessage(ctx, (I) event);
        }
        ctx.fireOutbound(event);
    }
Most of the code references the pipeline design of
<a href="https://github.com/netty/netty">Netty</a>.

@author jiachun.fjc
jraft-rheakv/rheakv-core/src/main/java/com/alipay/sofa/jraft/rhea/util/pipeline/OutboundHandlerAdapter.java