@Override
	default DBTraceDefinedDataAdapter getComponent(int[] componentPath) {
		// We may write to the cache
		// TODO: Consider a separate lock for the cache?
		try (LockHold hold = LockHold.lock(getTrace().getReadWriteLock().writeLock())) {
			return doGetComponent(componentPath, 0);
		}
	}
{@inheritDoc}

This implementation differs in that the path is relative to this unit, even if it is not the
root. In {@link DataDB}, it appears the behavior is undefined if you call this on a non-root
component.
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceDefinedDataAdapter.java