boolean (MatchNode matchNode, MatchEngine engine) { if (!super.match(matchNode, engine)) { return false; } for (Entry<MatchProperties, RuleValue> rule : matchNode.getRules().entrySet()) { RuleValue value = rule.getValue(); MatchProperties key = rule.getKey(); if (key == MatchProperties.EXPRENT_CONSTTYPE) { if (!value.value.equals(this.constType)) { return false; } } else if (key == MatchProperties.EXPRENT_CONSTVALUE) { if (value.isVariable() && !engine.checkAndSetVariableValue(value.value.toString(), this.value)) { return false; } } } return true; }