docs: private void callOnTextMessage(byte[] data)
      {
          if (mWebSocket.isDirectTextMessage())
          {
              mWebSocket.getListenerManager().callOnTextMessage(data);
              return;
          }
  
          try
          {
              // Interpret the byte array as a string.
              // OutOfMemoryError may happen when the size of data is too big.
              String message = Misc.toStringUTF8(data);
  
              // Call onTextMessage() method of the listeners.
              callOnTextMessage(message);
          }
          catch (Throwable t)
          {
              // Failed to convert payload data into a string.
              WebSocketException wse = new WebSocketException(
                  WebSocketError.TEXT_MESSAGE_CONSTRUCTION_ERROR,
                  "Failed to convert payload data into a string: " + t.getMessage(), t);
  
              // Notify the listeners that text message construction failed.
              callOnError(wse);
              callOnTextMessageError(wse, data);
          }
      }