docs: public final void updateObjectInUse(T object, boolean inUse) {
      int origSize = inUseObjects.size();
      if (inUse) {
        inUseObjects.add(object);
        if (origSize == 0) {
          handleInUse();
        }
      } else {
        boolean removed = inUseObjects.remove(object);
        if (removed && origSize == 1) {
          handleNotInUse();
        }
      }
    }