public boolean compare(Object left,Object right) {
            if (this==equals)
                return equals(left,right);
            if (this==different)
                return !equals(left,right);

            if (left==null || right==null) return false;

            if (this==contains)
                return contains(left,right);
            if (this==largerequals)
                return larger(left,right) || equals(left,right);
            if (this==smallerequals)
                return !larger(left,right);
            if (this==larger)
                return larger(left,right);
            if (this==smaller)
                return !larger(left,right) && !equals(left,right);
            throw new RuntimeException("Programming error, fix this method");
        }
A condition which is true of the <i>values</i> of its two subconditions are true
and both have the same value

@author bratseth
container-search/src/main/java/com/yahoo/prelude/semantics/rule/ComparisonCondition.java