* @return a {@link PCollection} representing the sorted collection.
*/
public static PCollection<TupleN> sortTuples(PCollection<TupleN> collection, ColumnOrder... columnOrders) {
PTypeFamily tf = collection.getTypeFamily();
PType<TupleN> pType = collection.getPType();
PTableType<TupleN, Void> type = tf.tableOf(tf.tuples(pType.getSubTypes().toArray(new PType[0])), tf.nulls());
PTable<TupleN, Void> pt = collection.parallelDo(new DoFn<TupleN, Pair<TupleN, Void>>() {
@Override
public void process(TupleN input, Emitter<Pair<TupleN, Void>> emitter) {
emitter.emit(Pair.of(input, (Void) null));
}