drools-eclipse/org.guvnor.eclipse.webdav/src/kernel/org/eclipse/webdav/internal/kernel/ConditionTerm.java
public boolean matches(ConditionTerm conditionTerm) {
        int numberOfItemsToMatch = 0;
        boolean match = true;
        Enumeration factors = getConditionFactors();
        while (match && factors.hasMoreElements()) {
            ConditionFactor factor = (ConditionFactor) factors.nextElement();
            if (factor.not()) {
                match = !conditionTerm.contains(factor);
            } else {
                match = conditionTerm.contains(factor);
                numberOfItemsToMatch++;
            }
        }
        match = match && numberOfItemsToMatch == conditionTerm.numberOfFactors();
        return match;
    }
public boolean matches(ConditionTerm conditionTerm) {
        int numberOfItemsToMatch = 0;
        boolean match = true;
        Enumeration factors = getConditionFactors();
        while (match && factors.hasMoreElements()) {
            ConditionFactor factor = (ConditionFactor) factors.nextElement();
            if (factor.not()) {
                match = !conditionTerm.contains(factor);
            } else {
                match = conditionTerm.contains(factor);
                numberOfItemsToMatch++;
            }
        }
        match = match && numberOfItemsToMatch == conditionTerm.numberOfFactors();
        return match;
    }
See if this ConditionTerm matches the given ConditionTerm. This is an
AND operation. All the factors in the ConditionTerm must match.

@param conditionTerm the term to match
@return true if all the factors in the term match those in this term