@Override
  public AsyncReader<T> find(Criterion<T> criteria) {
    return new AsyncReader<>(Criterias.toQuery(criteria), session);
  }
Readable which uses {@link java.util.concurrent.CompletionStage}
criteria/common/src/org/immutables/criteria/repository/async/AsyncReadable.java