code: public ServiceFuture<List<KeyItem>> getKeysAsync(final String vaultBaseUrl, final Integer maxresults, final ListOperationCallback<KeyItem> serviceCallback) {
          return AzureServiceFuture.fromPageResponse(
              getKeysSinglePageAsync(vaultBaseUrl, maxresults),
              new Func1<String, Observable<ServiceResponse<Page<KeyItem>>>>() {
                  @Override
                  public Observable<ServiceResponse<Page<KeyItem>>> call(String nextPageLink) {
                      return getKeysNextSinglePageAsync(nextPageLink);
                  }
              },
              serviceCallback);
      }
docs: List keys in the specified vault.
  Retrieves a list of the keys in the Key Vault as JSON Web Key structures that contain the public part of a stored key. The LIST operation is applicable to all key types, however only the base key identifier, attributes, and tags are provided in the response. Individual versions of a key are not listed in the response. This operation requires the keys/list permission.
  
  @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net.
  @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object