public Object visitPredicate(Predicate p, Object arg) { ArgData ad = (ArgData)arg; if (ad.negated) { ad.clauses[ad.clauses.Count - 1].addNegativeLiteral(p); } else { ad.clauses[ad.clauses.Count - 1].addPositiveLiteral(p); } return p; }