Java driver can be simplified by delegating the keepAlive logic to Netty's IdleStateHandler instead of maintaining and writing our own custom code. Note that this needs to be done in a backward compatible manner for 3.4.x series as the existing keepAlive logic should still continue to work for Channelizers other than WebSocketChannelizer.