docs: public static ResultSet createResultSet(String[] columnNames, ColumnType[] columnTypes,
        String[][] data,
        Protocol protocol) {
      int columnNameLength = columnNames.length;
      ColumnInformation[] columns = new ColumnInformation[columnNameLength];
  
      for (int i = 0; i < columnNameLength; i++) {
        columns[i] = ColumnInformation.create(columnNames[i], columnTypes[i]);
      }
  
      List<byte[]> rows = new ArrayList<>();
  
      for (String[] rowData : data) {
        assert rowData.length == columnNameLength;
        byte[][] rowBytes = new byte[rowData.length][];
        for (int i = 0; i < rowData.length; i++) {
          if (rowData[i] != null) {
            rowBytes[i] = rowData[i].getBytes();
          }
        }
        rows.add(StandardPacketInputStream.create(rowBytes, columnTypes));
      }
      return new SelectResultSet(columns, rows, protocol, TYPE_SCROLL_SENSITIVE);
    }