I think we should move the pipeline().remove(this) in the finally block here and remove the channelReadComplete overridden method.