@Override
  public @NotNull Promise<?> promiseWaitForUpdate() {
    AsyncPromise<Boolean> promise = new AsyncPromise<>();
    invokeAfterUpdate(false, () -> promise.setResult(true));
    return promise;
  }
@Override
  public @NotNull Promise<?> promiseWaitForUpdate()