private int consumeBytesAfter(int definedComponentIndex, int numBytes) {
		DataTypeComponentDB thisDtc = components.get(definedComponentIndex);
		int thisLen = thisDtc.getLength();
		int nextOffset = thisDtc.getOffset() + thisLen;
		int available;
		// handle last component differently - allow it to grow the structure if needed
		if (definedComponentIndex == components.size() - 1) {
			available = structLength - nextOffset;
			if (numBytes > available) {
				doGrowStructure(numBytes - available);
				available = numBytes;
			}
		}
		else {
			DataTypeComponent nextDtc = components.get(definedComponentIndex + 1);
			available = nextDtc.getOffset() - nextOffset;
		}

		if (numBytes <= available) {
			thisDtc.setLength(thisLen + numBytes, true);
			return numBytes;
		}
		thisDtc.setLength(thisLen + available, true);
		return available;
	}
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