private int setBitFieldDataType(InternalDataTypeComponent dataTypeComponent,
			BitFieldDataType currentBitFieldDt, int bitsConsumed) {
		int byteSize = (currentBitFieldDt.getBitSize() + bitsConsumed + 7) / 8;
		int bitOffset;
		if (dataOrganization.isBigEndian()) {
			// filled left-to-right
			bitOffset = (byteSize * 8) - currentBitFieldDt.getBitSize() - bitsConsumed;
		}
		else { // little-endian
				// filled right-to-left (viewed from normalized form after byte-swap)
			bitOffset = bitsConsumed;
		}

		if (bitOffset != currentBitFieldDt.getBitOffset()) {
			try {
				BitFieldDataType packedBitFieldDt =
					new BitFieldDataType(currentBitFieldDt.getBaseDataType(),
						currentBitFieldDt.getDeclaredBitSize(), bitOffset);
				dataTypeComponent.setDataType(packedBitFieldDt);
			}
			catch (InvalidDataTypeException e) {
				throw new AssertException("unexpected", e);
			}
			componentsChanged = true;
		}
		return byteSize;
	}
Adjust lastComponent which must be a zero-length bitfield and its associated
groupOffset based upon the adjusted alignment.
@param ordinal component ordinal assignment
@param minimumAlignment minimum alignment of component immediately after
the zero-length component
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/AlignedComponentPacker.java