code: public Observable<ServiceResponse<Page<KeyItem>>> getKeyVersionsNextWithServiceResponseAsync(final String nextPageLink) {
          return getKeyVersionsNextSinglePageAsync(nextPageLink)
              .concatMap(new Func1<ServiceResponse<Page<KeyItem>>, Observable<ServiceResponse<Page<KeyItem>>>>() {
                  @Override
                  public Observable<ServiceResponse<Page<KeyItem>>> call(ServiceResponse<Page<KeyItem>> page) {
                      String nextPageLink = page.body().nextPageLink();
                      if (nextPageLink == null) {
                          return Observable.just(page);
                      }
                      return Observable.just(page).concatWith(getKeyVersionsNextWithServiceResponseAsync(nextPageLink));
                  }
              });
      }
docs: Retrieves a list of individual key versions with the same key name.
  The full key identifier, attributes, and tags are provided in the response. This operation requires the keys/list permission.
  
  @param nextPageLink The NextLink from the previous successful call to List operation.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the PagedList&lt;KeyItem&gt; object