void executeAll(@NotNull Disposable object, boolean processUnregistered) {
    runWithTrace((tree, trace) -> {
      ObjectNode parentNode = getParentNode(object);
      ObjectNode node = parentNode.findChildNode(object);
      if (node == null && !processUnregistered) {
        return Collections.emptyList();
      }
      List<Disposable> disposables = new ArrayList<>();
      if (node != null) {
        node.removeChildNodesRecursively(disposables, tree, trace, null);
        parentNode.removeChildNode(node);
      }
      if (rememberDisposedTrace(object, trace) == null) {
        disposables.add(object);
      }
      for (Disposable disposable : disposables) {
        myObject2ParentNode.remove(disposable);
      }
      return disposables;
    });
  }
void executeAll(@NotNull Disposable object, boolean processUnregistered)