@Override
	protected boolean repack(boolean isAutoChange, boolean notify) {

		lock.acquire();
		try {
			checkDeleted();

			int oldLength = structLength;
			int oldAlignment = getComputedAlignment(true); // ensure that alignment has been stored

			computedAlignment = -1; // clear cached alignment

			boolean changed;
			if (!isPackingEnabled()) {
				changed = adjustNonPackedComponents(!isAutoChange);
			}
			else {
				StructurePackResult packResult =
					AlignedStructurePacker.packComponents(this, components);
				changed = packResult.componentsChanged;
				changed |= updateComposite(components.size(), packResult.structureLength,
					packResult.alignment, !isAutoChange);
			}

			if (changed && notify) {
				if (oldLength != structLength) {
					notifySizeChanged(isAutoChange);
				}
				else if (oldAlignment != structAlignment) {
					notifyAlignmentChanged(isAutoChange);
				}
				dataMgr.dataTypeChanged(this, isAutoChange);
			}
			return changed;
		}
		finally {
			lock.release();
		}
	}
Perform structure member repack. Perform lazy update of stored alignment introduced with v5
adapter.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/StructureDB.java