private boolean adjustNonPackedComponents(boolean setLastChangeTime) {
		boolean changed = false;
		int componentCount = 0;
		int currentOffset = 0;
		for (DataTypeComponentDB dataTypeComponent : components) {
			int componentLength = dataTypeComponent.getLength();
			int componentOffset = dataTypeComponent.getOffset();
			int numUndefinedsBefore = componentOffset - currentOffset;
			if (numUndefinedsBefore > 0) {
				componentCount += numUndefinedsBefore;
			}
			currentOffset = componentOffset + componentLength;
			if (dataTypeComponent.getOrdinal() != componentCount) {
				dataTypeComponent.setOrdinal(componentCount, true);
				changed = true;
			}
			componentCount++;
		}

		int numUndefinedsAfter = structLength - currentOffset;
		componentCount += numUndefinedsAfter;
		changed |= updateComposite(componentCount, structLength, getNonPackedAlignment(),
			setLastChangeTime);
		return changed;
	}
Updates non-packed component ordinals and numComponents.
If numComponents changes record update will be performed
with new timestamp.
@return true if change detected else false
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/StructureDB.java