@Override public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) throws Exception { Object attachment = ctx.getAttachment(); if (e.getMessage() instanceof KafkaResponse && attachment instanceof ResponseHandler) { ((ResponseHandler) attachment).received((KafkaResponse) e.getMessage()); } else { super.messageReceived(ctx, e); } }