@NotNull
  public AsyncResult<T> doWhenDone(@NotNull final Handler<? super T> handler) {
    doWhenDone(() -> handler.run(myResult));
    return this;
  }
@NotNull
  public AsyncResult<T> doWhenDone(@NotNull final Handler<? super T> handler)