code: public Observable<ServiceResponse<Page<TldLegalAgreementInner>>> listAgreementsWithServiceResponseAsync(final String name, final TopLevelDomainAgreementOption agreementOption) {
          return listAgreementsSinglePageAsync(name, agreementOption)
              .concatMap(new Func1<ServiceResponse<Page<TldLegalAgreementInner>>, Observable<ServiceResponse<Page<TldLegalAgreementInner>>>>() {
                  @Override
                  public Observable<ServiceResponse<Page<TldLegalAgreementInner>>> call(ServiceResponse<Page<TldLegalAgreementInner>> page) {
                      String nextPageLink = page.body().nextPageLink();
                      if (nextPageLink == null) {
                          return Observable.just(page);
                      }
                      return Observable.just(page).concatWith(listAgreementsNextWithServiceResponseAsync(nextPageLink));
                  }
              });
      }
docs: Gets all legal agreements that user needs to accept before purchasing a domain.
  Gets all legal agreements that user needs to accept before purchasing a domain.
  
  @param name Name of the top-level domain.
  @param agreementOption Domain agreement options.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the PagedList&lt;TldLegalAgreementInner&gt; object