private Filter generateSingleCondnEvaluatorIfRequired(Set notEqualKeys, CompiledValue operand,
      int operator, Object condnKey, IndexInfo indxInfo) throws TypeMismatchException {
    Filter rangeFilter;
    if (notEqualKeys != null) {
      // Eliminate all the not equal keys which will never be satisfied by
      // the given greater condn
      Iterator itr = notEqualKeys.iterator();
      while (itr.hasNext()) {
        Object neKey = itr.next();
        if (!(Boolean) TypeUtils.compare(neKey, condnKey, operator)) {
          itr.remove();
        }
      }
      if (notEqualKeys.isEmpty()) {
        notEqualKeys = null;
      }
    }
    rangeFilter = (notEqualKeys != null)
        ? new SingleCondnEvaluator(operator, condnKey, notEqualKeys, indxInfo) : (Filter) operand;
    return rangeFilter;
  }
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