@Contract(pure = true, value = "->new")
  public static @NotNull Disposable newDisposable() {
    // must not be lambda because we care about identity in ObjectTree.myObject2NodeMap
    return new Disposable() {
      @Override
      public void dispose() { }

      @Override
      public String toString() {
        return "newDisposable";
      }
    };
  }
@Contract(pure = true, value = "->new")
  public static @NotNull Disposable newDisposable()