private void SyncAddFirst(IChannelHandler handler)
        {
            DefaultChannelHandlerContext newContext  = new DefaultChannelHandlerContext(_channel, handler);
            ChannleHandlerContext        nextContext = this._head.Next;

            newContext.Next  = nextContext;
            newContext.Prev  = this._head;
            this._head.Next  = newContext;
            nextContext.Prev = newContext;

            newContext.Handler.HandlerInstalled(newContext);
        }
        private void SyncAddLast(IChannelHandler handler)
        {
            DefaultChannelHandlerContext newContext  = new DefaultChannelHandlerContext(_channel, handler);
            ChannleHandlerContext        prevContext = this._tail.Prev;

            newContext.Prev  = prevContext;
            newContext.Next  = this._tail;
            this._tail.Prev  = newContext;
            prevContext.Next = newContext;

            newContext.Handler.HandlerInstalled(newContext);
        }