code: public ServiceFuture<List<Certificate>> listAsync(final CertificateListOptions certificateListOptions, final ListOperationCallback<Certificate> serviceCallback) {
          return AzureServiceFuture.fromHeaderPageResponse(
              listSinglePageAsync(certificateListOptions),
              new Func1<String, Observable<ServiceResponseWithHeaders<Page<Certificate>, CertificateListHeaders>>>() {
                  @Override
                  public Observable<ServiceResponseWithHeaders<Page<Certificate>, CertificateListHeaders>> call(String nextPageLink) {
                      CertificateListNextOptions certificateListNextOptions = null;
                      if (certificateListOptions != null) {
                          certificateListNextOptions = new CertificateListNextOptions();
                          certificateListNextOptions.withClientRequestId(certificateListOptions.clientRequestId());
                          certificateListNextOptions.withReturnClientRequestId(certificateListOptions.returnClientRequestId());
                          certificateListNextOptions.withOcpDate(certificateListOptions.ocpDate());
                      }
                      return listNextSinglePageAsync(nextPageLink, certificateListNextOptions);
                  }
              },
              serviceCallback);
      }
docs: Lists all of the certificates that have been added to the specified account.
  
  @param certificateListOptions Additional parameters for the operation
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object