protected IoBufferEx doEncode(IoBufferAllocatorEx<?> allocator, int flags, WsMessage message) { switch (message.getKind()) { case CONTINUATION: return doContinuationEncode(allocator, flags, message); case BINARY: { return doBinaryEncode(allocator, flags, message); } case TEXT: { return doTextEncode(allocator, flags, message); } case PING: { return doBinaryEncode(allocator, flags, message); } case PONG: { return doBinaryEncode(allocator, flags, message); } case CLOSE: { return doCloseEncode(allocator, flags, (WsCloseMessage)message); } default: throw new IllegalStateException("Unrecognized frame type: " + message.getKind()); } }