code: public static void projectRow(Object[] row, int[] columnMap,
                                    Object[] newRow) {
  
          for (int i = 0; i < columnMap.length; i++) {
              newRow[i] = row[columnMap[i]];
          }
      }
docs: <p>
  Copies some elements of row into newRow by using columnMap as
  the list of indexes into row. That is, newRow[i] = row[columnMap[i]]
  for each i.
  </p>
  <p>
  columnMap and newRow are of equal length and are normally
  shorter than row.
  </p>
  
  @param row the source array
  @param columnMap the list of indexes into row
  @param newRow the destination array