code: protected final void bufferFullMessage(StreamSourceFrameChannel messageChannel) {
          if (messageChannel.getType() == WebSocketFrameType.TEXT) {
              readBufferedText(messageChannel, new BufferedTextMessage(getMaxTextBufferSize(), true));
          } else if (messageChannel.getType() == WebSocketFrameType.BINARY) {
              readBufferedBinary(messageChannel, false, new BufferedBinaryMessage(getMaxBinaryBufferSize(), true));
          } else if (messageChannel.getType() == WebSocketFrameType.PONG) {
              readBufferedBinary(messageChannel, true, new BufferedBinaryMessage(getMaxPongBufferSize(), true));
          } else if (messageChannel.getType() == WebSocketFrameType.PING) {
              readBufferedBinary(messageChannel, true, new BufferedBinaryMessage(getMaxPingBufferSize(), true));
          } else if (messageChannel.getType() == WebSocketFrameType.CLOSE) {
              readBufferedBinary(messageChannel, true, new BufferedBinaryMessage(getMaxCloseBufferSize(), true));
          }
      }
docs: Utility method that reads a full text or binary message, including all fragmented parts. Once the full message is
  read then the {@link #onFullTextMessage(WebSocketChannel, BufferedTextMessage)} or
  {@link #onFullBinaryMessage(WebSocketChannel, BufferedBinaryMessage)} method will be invoked.
  
  @param messageChannel The message channel