@Test
public void cycle_lenient() {

	Node a = createNode("a", "1");
	Node b = createNode("b", "1");
	Node c = createNode("c", "1");
	Node d = createNode("d", "1");
	Node oc = createOmittedNode("c", "1");
	Node ob = createOmittedNode("b", "1");

	a.addChildNode(b);
	a.addChildNode(c);
	b.addChildNode(d);
	c.addChildNode(ob);
	b.addChildNode(oc);

	List<Node> resultNodes = new TopologicalSorter().sort(a, false);
	List<String> r = resultNodes.stream().map(Node::getArtifactId).collect(Collectors.toList());
	Assert.assertTrue(r.indexOf("a") > r.indexOf("b"));
	Assert.assertTrue(r.indexOf("a") > r.indexOf("c"));
	Assert.assertTrue(r.indexOf("b") > r.indexOf("d"));

}