private void shiftOffsets(int definedComponentIndex, int deltaOrdinal, int deltaOffset) {
		if (deltaOffset == 0 && deltaOrdinal == 0) {
			return;
		}
		for (int i = definedComponentIndex; i < components.size(); i++) {
			DataTypeComponentDB dtc = components.get(i);
			shiftOffset(dtc, deltaOrdinal, deltaOffset);
		}
		structLength += deltaOffset;
		if (!isPackingEnabled()) {
			numComponents += deltaOrdinal;
		}
		record.setIntValue(CompositeDBAdapter.COMPOSITE_NUM_COMPONENTS_COL, numComponents);
		record.setIntValue(CompositeDBAdapter.COMPOSITE_LENGTH_COL, structLength);
		try {
			compositeAdapter.updateRecord(record, true);
		}
		catch (IOException e) {
			dataMgr.dbError(e);
		}
	}
Adjust length of specified component (by index) by consuming available undefined
bytes upto the specified number of bytes (numBytes).  The associated component record will
be updated without adjusting structure last modified or providing notification.
@param definedComponentIndex the index of the defined component that is consuming the bytes.
@param numBytes the number of undefined bytes to consume
@return the number of bytes actually consumed
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/StructureDB.java