public default DataTypeComponent getComponentAt(int offset) {
		DataTypeComponent dtc = getComponentContaining(offset);
		// scan forward with bitfields to find one which starts with offset
		while (dtc != null && dtc.isBitFieldComponent() && dtc.getOffset() < offset &&
			dtc.getOrdinal() < (getNumComponents() - 1)) {
			dtc = getComponent(dtc.getOrdinal() + 1);
		}
		if (dtc != null && dtc.getOffset() == offset) {
			return dtc;
		}
		return null;
	}
Gets the first non-zero-length component that starts at the specified offset. 
Note that one or more components may share the same offset when a bit-field or zero-length
component is present since these may share an offset.  A null may be returned under one of
the following conditions:
<ul>
<li>offset only corresponds to a zero-length component within a packed structure</li>
<li>offset corresponds to a padding byte within a packed structure</li>
<li>offset is contained within a component but is not the starting offset of that component</li>
<li>offset is &gt;= structure length</li>
</ul>
If a bitfield is returned, and the caller supports bitfields, it is recommended that 
{@link #getComponentsContaining(int)} be invoked to gather all bitfields which contain the 
specified offset.

@param offset the byte offset into this structure
@return the first component that starts at specified offset or null if not found.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/Structure.java