code: private LockedObject generateTempLockedObjects(ITransaction transaction,
              String path) {
          if (!_tempLocks.containsKey(path)) {
              LockedObject returnObject = new LockedObject(this, path, _temporary);
              String parentPath = getParentPath(path);
              if (parentPath != null) {
                  LockedObject parentLockedObject = generateTempLockedObjects(
                          transaction, parentPath);
                  parentLockedObject.addChild(returnObject);
                  returnObject._parent = parentLockedObject;
              }
              return returnObject;
          } else {
              // there is already a LockedObject on the specified path
              return (LockedObject) this._tempLocks.get(path);
          }
  
      }
docs: generates temporary LockedObjects for the resource at path and its parent
  folders. does not create new LockedObjects if they already exist
  
  @param transaction
  @param path
  path to the (new) LockedObject
  @return the LockedObject for path.