class ReceiptRepositoryOkHttpImpl extends AbstractRepositoryOkHttpImpl implements ReceiptRepository {

  @Override
  public Observable<Page<AddressResolutionStatement>> searchAddressResolutionStatements(
      ResolutionStatementSearchCriteria criteria) {
    BigInteger height = criteria.getHeight();
    Integer pageSize = criteria.getPageSize();
    Integer pageNumber = criteria.getPageNumber();
    String offset = criteria.getOffset();
    Order order = toDto(criteria.getOrder());
    Callable<ResolutionStatementPage> callback =
        () ->
            getClient()
                .searchAddressResolutionStatements(height, pageSize, pageNumber, offset, order);
    return exceptionHandling(
        call(callback)
            .map(
                page ->
                    this.toPage(
                        page.getPagination(),
                        page.getData().stream()
                            .map(mapper::createAddressResolutionStatementFromDto)
                            .collect(Collectors.toList()))));
  }

  public  ReceiptRepositoryOkHttpImpl(ApiClient apiClient);

}