@Override
	public int getNumDefinedComponents() {
		lock.acquire();
		try {
			return components.size();
		}
		finally {
			lock.release();
		}
	}
Removes a defined component at the specified index.
<p>
If this corresponds to a zero-length or bit-field component it will be cleared without an
offset shift to the remaining components.  Removal of other component types will result in
an offset and ordinal shift to the remaining components.  In the case of a non-packed
structure, the resulting shift will cause in a timestamp change for this structure.

@param index defined component index
@param disableOffsetShift if false, and component is not a bit-field, an offset shift and
possible structure length change will be performed for non-packed structure.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/StructureDB.java