else if ( inputObj!= null && inputObj.toString().equalsIgnoreCase("NaN") ) inputObj = null;
	public static Object convertNativeObjToJavaObj(Object inputObj){		if ( logger.isLoggable( Level.FINER ) )			logger.entering( ScriptEvalUtil.class.getName( ),					"convertNativeObjToJavaObj",					LogUtil.toString( inputObj ) );		if ( inputObj instanceof Scriptable) 		{			// Return type is a Javascript native object			// Convert to Java object with same value			String jsClass = ((Scriptable) inputObj).getClassName();			if (jsClass.equals("Date")) 			{				if ( logger.isLoggable( Level.FINER ) )					logger.exiting( ScriptEvalUtil.class.getName( ),							"convertNativeObjToJavaObj",							new Date( (long) Context.toNumber( inputObj ) ) );					return new Date( (long) Context.toNumber( inputObj ) );			} 			else if (jsClass.equals("Boolean")) 			{				if ( logger.isLoggable( Level.FINER ) )					logger.exiting( ScriptEvalUtil.class.getName( ),							"convertNativeObjToJavaObj",							new Boolean( Context.toBoolean( inputObj ) ) );				return new Boolean(Context.toBoolean(inputObj));			} 			else if (jsClass.equals("Number")) 			{				if ( logger.isLoggable( Level.FINER ) )					logger.exiting( ScriptEvalUtil.class.getName( ),							"convertNativeObjToJavaObj",							new Double( Context.toNumber( inputObj ) ) );				return new Double(Context.toNumber(inputObj));			} 			else 			{				// For JS "String" type, toString gives the correct result				// For all other types that we cannot handle, toString is the best we can do				if ( logger.isLoggable( Level.FINER ) )					logger.exiting( ScriptEvalUtil.class.getName( ),							"convertNativeObjToJavaObj",							inputObj.toString( ).trim() );				return inputObj.toString();			}		}		if ( logger.isLoggable( Level.FINER ) )			logger.exiting( ScriptEvalUtil.class.getName( ),					"convertNativeObjToJavaObj",					inputObj );		return inputObj;	}