public List<V> sort() throws SorterException {
		if (requireTotal) {
			checkTotal();
		}
		while (true) {
			V n = unmarked.peek();
			if (n == null) { // Will also cause future calls to sort() to short-circuit :)
				return list;
			}
			visit(n);
		}
	}
Execute the algorithm an obtain the list of vertices, in topological order

@return the sorted list of vertices
@throws SorterException if the graph is cyclic, or if {@code requireTotal} is set and the
            solution is not unique.
Ghidra/Debug/ProposedUtils/src/main/java/ghidra/graph/algo/TopologicalSorter.java