code: protected int[] getConstantKeySet(int input) {
  		Operator<?> contract = getPactContract();
  		if (contract instanceof AbstractUdfOperator<?, ?>) {
  			AbstractUdfOperator<?, ?> abstractPact = (AbstractUdfOperator<?, ?>) contract;
  			int[] keyColumns = abstractPact.getKeyColumns(input);
  			if (keyColumns != null) {
  				if (keyColumns.length == 0) {
  					return null;
  				}
  				for (int keyColumn : keyColumns) {
  					if (!isFieldConstant(input, keyColumn)) {
  						return null;	
  					}
  				}
  				return keyColumns;
  			}
  		}
  		return null;
  	}
docs: Returns the key columns for the specific input, if all keys are preserved
  by this node. Null, otherwise.
  
  @param input
  @return