private void unblock(V v) {

		ListOrderedSet<V> toProcess = new ListOrderedSet<>();
		toProcess.add(v);

		while (!toProcess.isEmpty()) {
			V next = toProcess.remove(0);
			Set<V> childBlocked = doUnblock(next);
			if (childBlocked != null && !childBlocked.isEmpty()) {
				toProcess.addAll(childBlocked);
				childBlocked.clear();
			}
		}
	}
Finds all paths between two vertices for a given graph.

<P>Note: this algorithm is based on the {@link JohnsonCircuitsAlgorithm}, modified to be
iterative instead of recursive. 

@param <V> the vertex type
@param <E> the edge type
Ghidra/Framework/Graph/src/main/java/ghidra/graph/algo/IterativeFindPathsAlgorithm.java