static
	public DataType getCommonDataType(DataType left, DataType right){

		if((left).equals(right)){

			switch(left){
				case DOUBLE:
				case FLOAT:
				case INTEGER:
					return left;
			}
		} else

		if((DataType.DOUBLE).equals(left)){

			if((DataType.FLOAT).equals(right) || (DataType.INTEGER).equals(right)){
				return left;
			}
		} else

		if((DataType.FLOAT).equals(left)){

			if((DataType.DOUBLE).equals(right)){
				return right;
			} else

			if((DataType.INTEGER).equals(right)){
				return left;
			}
		} else

		if((DataType.INTEGER).equals(left)){

			if((DataType.DOUBLE).equals(right) || (DataType.FLOAT).equals(right)){
				return right;
			}
		}

		throw new EvaluationException("No PMML data type for the intersection of PMML data types " + left.value() + " and " + right.value());
	}
static public DataType getCommonDataType ( DataType left , DataType right ) { if ( ( left ) . equals ( right ) ) { switch ( left ) { case DOUBLE : case FLOAT : case INTEGER : return left ; } } else if ( ( DataType . DOUBLE ) . equals ( left ) ) { if ( ( DataType . FLOAT ) . equals ( right ) || ( DataType . INTEGER ) . equals ( right ) ) { return left ; } } else if ( ( DataType . FLOAT ) . equals ( left ) ) { if ( ( DataType . DOUBLE ) . equals ( right ) ) { return right ; } else if ( ( DataType . INTEGER ) . equals ( right ) ) { return left ; } } else if ( ( DataType . INTEGER ) . equals ( left ) ) { if ( ( DataType . DOUBLE ) . equals ( right ) || ( DataType . FLOAT ) . equals ( right ) ) { return right ; } } throw new EvaluationException ( "No PMML data type for the intersection of PMML data types " + left . value ( ) + " and " + right . value ( ) ) ; }
@return The least restrictive data type of two numeric data types.

@see DataType#INTEGER
@see DataType#FLOAT
@see DataType#DOUBLE