@Override
  public <T> T commitAndRunReadAction(@NotNull Computable<T> computation) {
    Ref<T> ref = Ref.create(null);
    commitAndRunReadAction(() -> ref.set(computation.compute()));
    return ref.get();
  }
@Override
  public <T> T commitAndRunReadAction(@NotNull Computable<T> computation)