/** * Return true if this composite <code>Job</code> is a tree. * * @param visited a set of visited exertions * @return true if this <code>Job</code> composite is a tree * @see sorcer.service.Exertion#isTree() */ public boolean isTree(Set visited) { visited.add(this); Iterator i = exertions.iterator(); while (i.hasNext()) { ServiceExertion e = (ServiceExertion) i.next(); if (visited.contains(e) || !e.isTree(visited)) { return false; } } return true; }