@Override
		public boolean equals(Object obj) {
			if (this == obj) {
				return true;
			}
			if (obj == null) {
				return false;
			}
			if (getClass() != obj.getClass()) {
				return false;
			}
			CompositeDefinition other = (CompositeDefinition) obj;
			return isClass == other.isClass && kind == other.kind && length == other.length &&
				SystemUtilities.isEqual(name, other.name);
		}
Can this be avoided if using dependency ordering ??
				// NOTE: currently composite may grow if zero-length array used
				// since we must currently allocate one element since 0-length array 
				// not yet supported.
				Composite composite =
					pdbParser.createComposite(compositeDefinition.kind, compositeDefinition.name);
				if (composite == null) {
					log.appendMsg("PDB", "Unsupported datatype kind (" + compositeDefinition.kind +
						"): " + compositeDefinition.name);
					continue;
				}
//								if (!isClasses) {
//									int length = XmlUtilities.parseInt(elem.getAttribute("length"));
//									PdbUtil.ensureSize(length, composite, log);
//								}
				pdbParser.cacheDataType(compositeDefinition.name, composite);
//				*
Ghidra/Features/PDB/src/main/java/ghidra/app/util/bin/format/pdb/ApplyDataTypes.java