public Object visitPredicate(Predicate p, Object arg) { List<Predicate> predicates = (List<Predicate>)arg; predicates.Add(p); return predicates; }