This reduces the cost of the new data structure until the multi-threaded behavior is actually used.
@fieldParentPtr
RwLock.lockShared()