@Override
    public HandlerContext fireOutbound(final OutboundMessageEvent<?> event) {
        final AbstractHandlerContext next = findContextOutbound();
        next.invoker().invokeOutbound(next, event);
        return this;
    }
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/AbstractHandlerContext.java