final Permutation permutation = program.getPermutation();
if( permutation == null )
throw new AssertionError();
Fields incomingFields = createTypedFields( cluster, Mappings.apply( permutation.inverse(), program.getInputRowType().getFieldList() ), false );
Fields renameFields = createTypedFieldsSelector( cluster, program.getOutputRowType(), false );
return new Rename( pipe, incomingFields, renameFields );
}