@Override
  public Object evaluate(ExecutionContext context) throws FunctionDomainException,
      TypeMismatchException, NameResolutionException, QueryInvocationTargetException {
    Object r = _operands[0].evaluate(context); // UNDEFINED, null, or a
    // Boolean

    // if it's false and the op in this case will always be AND so return
    // false immediately
    if (r instanceof Boolean && !(Boolean) r) {
      return r;
    }
    if (r == null || r == QueryService.UNDEFINED) {
      r = QueryService.UNDEFINED; // keep going to see if we hit a
    }
    // short-circuiting truth value
    else if (!(r instanceof Boolean)) {
      throw new TypeMismatchException(
          "LITERAL_and/LITERAL_or operands must be of type boolean, not type '"
              + r.getClass().getName() + "'");
    }
    for (int i = 1; i < _operands.length; i++) {
      Object ri = _operands[i].evaluate(context); // UNDEFINED, null, or
      // Boolean
      if (ri instanceof Boolean && !(Boolean) ri) {
        return ri;
      }
      if (ri == null || ri == QueryService.UNDEFINED || r == QueryService.UNDEFINED) {
        r = QueryService.UNDEFINED;
        continue; // keep going to see if we hit a short-circuiting
        // truth value
      } else if (!(ri instanceof Boolean)) {
        throw new TypeMismatchException(
            "LITERAL_and/LITERAL_or operands must be of type boolean, not type '"
                + ri.getClass().getName() + "'");
      }
      // now do the actual and

      r = (Boolean) r && (Boolean) ri;

    }
    return r;
  }
Creates a Filter of type SingleCondnEvaluator if there exists atleast one key of type "NOT
EQUAL" which satisfies the 'less' or 'greater' type operand. Otherwise the Filter is nothing
but the CompiledComparison representing the 'less' or 'greater' inequality

@param notEqualKeys Set containing NotEqual type Keys
@param operand CompiledValue representing the 'Less' or 'Greater' operand
@param operator Type of 'Less' or 'Greater' operand
@param condnKey The Key corresponding to the Operand representing the 'Less' or 'Greater'
       inequality
@param indxInfo The IndexInfo object for this RangeJunction
@return Filter object of type CompiledComparison or RangeJunction.SingleCondnEvaluator object
geode-core/src/main/java/org/apache/geode/cache/query/internal/RangeJunction.java