@Override
	protected int getComputedAlignment(boolean updateRecord) {
		if (structAlignment > 0) {
			return structAlignment;
		}
		if (computedAlignment <= 0) {
			if (isPackingEnabled()) {
				StructurePackResult packResult = AlignedStructureInspector.packComponents(this);
				computedAlignment = packResult.alignment;
			}
			else {
				computedAlignment = getNonPackedAlignment();
			}
		}
		if (updateRecord) {
			// perform lazy update of stored computed alignment
			record.setIntValue(CompositeDBAdapter.COMPOSITE_ALIGNMENT_COL, computedAlignment);
			try {
				compositeAdapter.updateRecord(record, false);
			}
			catch (IOException e) {
				dataMgr.dbError(e);
			}
			structAlignment = computedAlignment;
			computedAlignment = -1;
			return structAlignment;
		}
		return computedAlignment;
	}
Create cloned structure for target data type manager preserving source archive information.
<p>
WARNING! cloning non-packed structures which contain bitfields can produce invalid results
when switching endianness due to the differences in packing order.

@param dtm target data type manager
@return cloned structure
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/StructureDB.java