public Collection reverseRoots() {
		if ((roots == null) || (revRootEdgeModCount != edgeModCount)) {
			revRootEdgeModCount = edgeModCount;
			revRoots = new ArrayList();
			buildRootList(revRoots, true);
		}

		return revRoots;
	}