private void checkValidState(RangeQueryOperation op, Object min, Object max) {
		if (min == null) {
			throw new IllegalArgumentException("At least one number must be provided to a " +
					"range query.");
		}
		switch(op) {
		case LESS_THAN:
		case LESS_THAN_EQULAL:
		case GREATER_THAN:
		case GREATER_THAN_EQUAL:
			if (max != null) {
				throw new IllegalArgumentException("Two arguments cannot be provided to a " +
						"single bouded range.");
			}
			break;
		case INCLUSIVE_RANGE:
		case EXCLUSIVE_RANGE:
			if (max == null) {
				throw new IllegalArgumentException("Two arguments must be provided to a " +
						"double bounded range.");
			}
			break;
		default:
			throw new IllegalArgumentException("Invalid Number range operation");
		}
	}