As described [here](https://github.com/jgrapht/jgrapht/issues/55#issuecomment-26983146), the current implementation is incorrect when it comes to DAGs with more than one source node.

The tests `testConnectedDigraphWithTwoPartialOrders` and `testDisconnectedDigraphWithSeveralPartialOrders` in TopologicalOrderIteratorTest fail with an exception if neither the additional check in CrossComponentIterator nor making TopologicalOrderIterator's `setCrossComponentTraversal()` a NOOP is implemented. With only the additional check in CrossComponentIterator, both tests pass even when setting the crossComponentTraversal flag to true. The same holds with only the NOOP in TopologicalOrderIterator.

I think that the missing check in CrossComponentIterator's `next()` is a general problem that should be fixed, as explained in the corresponding code comment.

Making TopologicalOrderIterator's `setCrossComponentTraversal` a NOOP will make the iterator not throw an exception on some graphs which are not DAGs, which I think is probably unnecessary, after considering your comment on the corresponding test.