public Pair<ArrayList<DataType>, ArrayList<DataType>> getAcyclicDependencyLists() {
		if (processed == false) {
			processDependencyLists();
		}
		return new Pair<>(compositeList, orderedDependentsList);
	}
This method returns two lists:
1) is the set of structs/unions. Intended for outputting zero-sized definitions.
2) is the acyclic dependency list (broken at composites and pointers to composites)
This works (and the dependency graph is able to be broken of cycles) because
composites can be given zero size to start with and then later updated with full size.
@return  pair of arrayLists--one of composites and one complete list of dependents
Ghidra/Features/Decompiler/src/main/java/ghidra/app/util/DataTypeDependencyOrderer.java