package cpw.mods.fml.common.toposort; import java.util.Set; public class ModSortingException extends RuntimeException { public class SortingExceptionData<T> { public SortingExceptionData(T node, Set<T> visitedNodes) { this.firstBadNode = node; this.visitedNodes = visitedNodes; } private T firstBadNode; private Set<T> visitedNodes; public T getFirstBadNode() { return firstBadNode; } public Set<T> getVisitedNodes() { return visitedNodes; } } private SortingExceptionData sortingExceptionData; public <T> ModSortingException(String string, T node, Set<T> visitedNodes) { super(string); this.sortingExceptionData = new SortingExceptionData(node, visitedNodes); } public <T> SortingExceptionData<T> getExceptionData() { return sortingExceptionData; } }