docs: public VoltTable sortByInput(String tableName)
      {
          List<ProcInputRow> sorted = new ArrayList<ProcInputRow>(m_rowsTable);
          Collections.sort(sorted, new Comparator<ProcInputRow>() {
              @Override
              public int compare(ProcInputRow r1, ProcInputRow r2) {
                  return compareByInput(r2, r1); // sort descending
              }
          });
  
          long totalInput = 0L;
          for (ProcInputRow row : sorted) {
              totalInput += (row.avgIN * row.invocations);
          }
  
          int kB = 1024;
          int mB = 1024 * kB;
  
          VoltTable result = TableShorthand.tableFromShorthand(
              tableName +
              "(TIMESTAMP:BIGINT," +
                  "PROCEDURE:VARCHAR," +
                  "WEIGHTED_PERC:BIGINT," +
                  "INVOCATIONS:BIGINT," +
                  "MIN_PARAMETER_SET_SIZE:BIGINT," +
                  "MAX_PARAMETER_SET_SIZE:BIGINT," +
                  "AVG_PARAMETER_SET_SIZE:BIGINT," +
                  "TOTAL_PARAMETER_SET_SIZE_MB:BIGINT)"
                  );
  
          for (ProcInputRow row : sorted) {
              result.addRow(
                  row.timestamp,
                  row.procedure,
                  calculatePercent((row.avgIN * row.invocations), totalInput), //% total in
                  row.invocations,
                  row.minIN,
                  row.maxIN,
                  row.avgIN,
                  (row.avgIN * row.invocations) / mB //total in
                  );
          }
          return result;
      }