Bug 252487 [DataBinding] use Double.isNaN(d) instead of d!=d to check for NaN
There are two warnings in StringToNumberParser related to the fact that we use "doubleValue == doubleValue" to determine whether the value is NaN (suprisingly, NaN is never == NaN, even if it is the same variable). We should be using Double.isNaN(doubleValue) instead.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/internal/databinding/conversion/StringToNumberParser.java
* @throws IllegalArgumentException
	 *             if the number type is unsupported
	 */
	public static boolean inLongRange(Number number) {
		return checkInteger(number, 63);
	}
	/**
	 * Returns <code>true</code> if the provided <code>number</code> is in
	 * the range of a float.
	 *
	 * @param number
	 * @return <code>true</code> if in range
	 * @throws IllegalArgumentException
	 *             if the number type is unsupported
	 */
	public static boolean inFloatRange(Number number) {
		return checkDecimal(number, FLOAT_MIN_BIG_DECIMAL, FLOAT_MAX_BIG_DECIMAL);
	}
	private static boolean checkDecimal(Number number, BigDecimal min, BigDecimal max) {
		BigDecimal bigDecimal = null;
		if (number instanceof Integer || number instanceof Long) {
			bigDecimal = new BigDecimal(number.doubleValue());
		} else if (number instanceof Float || number instanceof Double) {
			double doubleValue = number.doubleValue();
			/*
			 * doubleValue == doubleValue is used to check for NaN because NaN !=
			 * NaN. The only way to check for NaN is to compare that the value
			 * is equal to itself.
			 */
			if (doubleValue == doubleValue