@Override
 public Matcher visit(UnaryLogicOperator condition) {
   Matcher conditionMatcher = condition.getCondition().accept(this);
   return new UnaryMatcher(conditionMatcher, condition.getPredicate());
 }
 @Override
 public Collection<? extends ComplexTypeMetadata> visit(UnaryLogicOperator condition) {
   condition.getCondition().accept(this);
   return closure;
 }