public void process(ByteBuffer buffer) throws IOException {
        if (mIndex >= mInterceptors.size()) {
            processFinal(buffer);
        } else {
            processNext(buffer, mFlow, mInterceptors, mIndex, mTag);
        }
    }
Hand the net packets to the next. If all interceptors have been processed, the packets will
be sent to tunnel, otherwise hand it to the next interceptor.

@param buffer A buffer contains net packet data.
@throws IOException If an I/O error has occurred.
netbare-core/src/main/java/com/github/megatronking/netbare/gateway/InterceptorChain.java