public static ISet recursiveMethodsQ(Iterable<Node> allNodes, IValueFactory vf, Type type, TypeStore ts) throws GraphDbMappingException {
		Set<IValue> results = new HashSet<IValue>();	
		for (Node node : allNodes) {
			if (node.hasRelationship(RelTypes.TO, Direction.OUTGOING)) {
				for (Relationship rel : node.getRelationships(RelTypes.TO, Direction.OUTGOING)) {
					if (rel.getEndNode().equals(node))
						results.add(type.accept(new GraphDbValueRetrievalVisitor(node, vf, ts)));
				}
			}
		}
		return vf.set(results.toArray(new IValue[results.size()]));
	}