@Override
    public String toString() {
        StringBuffer predicate = new StringBuffer(getName()).append("(");

        Iterator args = getArgs().iterator();
        while (args.hasNext()) {
            predicate.append(args.next());

            if (args.hasNext()) {
                predicate.append(", ");
            }
        }

        predicate.append(")");

        return predicate.toString();
    }