yes no Entry in ObjectMap for ObjectId? Resource exists in entry? return resource Create lock no yes Lock is released? no Create entry in ObjectMap with lock Acquire lock Create resource Add resource to entry in ObjectMap Release lock return resource