boolean tryRegister(@NotNull Disposable parent, @NotNull Disposable child) {
    synchronized (getTreeLock()) {
      if (isDisposed(parent)) {
        return false;
      }
      register(parent, child);
      return true;
    }
  }
boolean tryRegister(@NotNull Disposable parent, @NotNull Disposable child)