code: public void removeLastInode() {
      Preconditions.checkState(fullPathExists());
  
      if (!isImplicitlyLocked()) {
        // WRITE_EDGE pattern always implicitly locks the list when the full path exists, so the lock
        // list must end with an inode.
        mLockList.unlockLastInode();
        mLockList.unlockLastEdge();
      }
      mExistingInodes.remove(mExistingInodes.size() - 1);
    }
docs: Removes the last inode from the list. This is necessary when the last inode is deleted and we
  want to continue using the inodepath. This operation is only supported when the path is
  complete.