code: public PagedList<CloudPool> list(final PoolListOptions poolListOptions) {
          ServiceResponseWithHeaders<Page<CloudPool>, PoolListHeaders> response = listSinglePageAsync(poolListOptions).toBlocking().single();
          return new PagedList<CloudPool>(response.body()) {
              @Override
              public Page<CloudPool> nextPage(String nextPageLink) {
                  PoolListNextOptions poolListNextOptions = null;
                  if (poolListOptions != null) {
                      poolListNextOptions = new PoolListNextOptions();
                      poolListNextOptions.withClientRequestId(poolListOptions.clientRequestId());
                      poolListNextOptions.withReturnClientRequestId(poolListOptions.returnClientRequestId());
                      poolListNextOptions.withOcpDate(poolListOptions.ocpDate());
                  }
                  return listNextSinglePageAsync(nextPageLink, poolListNextOptions).toBlocking().single().body();
              }
          };
      }
docs: Lists all of the pools in the specified account.
  
  @param poolListOptions Additional parameters for the operation
  @throws IllegalArgumentException thrown if parameters fail the validation
  @throws BatchErrorException thrown if the request is rejected by server
  @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
  @return the PagedList&lt;CloudPool&gt; object if successful.