public EqualsPredicateEvaluator(EqPredicate predicate, Dictionary dictionary) {
   this.predicate = predicate;
   equalsMatchDictId = dictionary.indexOf(predicate.getEqualsValue());
   if (equalsMatchDictId >= 0) {
     matchingIds = new int[1];
     matchingIds[0] = equalsMatchDictId;
   } else {
     matchingIds = new int[0];
   }
 }
 @Override
 public int[] getNonMatchingDictionaryIds() {
   throw new UnsupportedOperationException(
       "Returning non matching values is expensive for predicateType:" + predicate.getType());
 }