public void addEdge(Node<T> n) {
			if ( edges==Collections.EMPTY_LIST ) edges = new ArrayList<Node<T>>();
			if ( !edges.contains(n) ) edges.add(n);
		}
A generic graph with edges; Each node as a single Object payload.
 This is only used to topologically sort a list of file dependencies
 at the moment.
tool/src/org/antlr/v4/misc/Graph.java