docs: @Override
    public void query(final Query query, final Consumer<QueryResult> onSuccess, final Consumer<Throwable> onFailure) {
      final Call<QueryResult> call = callQuery(query);
      call.enqueue(new Callback<QueryResult>() {
        @Override
        public void onResponse(final Call<QueryResult> call, final Response<QueryResult> response) {
          onSuccess.accept(response.body());
        }
  
        @Override
        public void onFailure(final Call<QueryResult> call, final Throwable throwable) {
          onFailure.accept(throwable);
        }
      });
    }