code: public Observable<ServiceResponseWithHeaders<Page<CloudTask>, TaskListHeaders>> listWithServiceResponseAsync(final String jobId) {
          return listSinglePageAsync(jobId)
              .concatMap(new Func1<ServiceResponseWithHeaders<Page<CloudTask>, TaskListHeaders>, Observable<ServiceResponseWithHeaders<Page<CloudTask>, TaskListHeaders>>>() {
                  @Override
                  public Observable<ServiceResponseWithHeaders<Page<CloudTask>, TaskListHeaders>> call(ServiceResponseWithHeaders<Page<CloudTask>, TaskListHeaders> page) {
                      String nextPageLink = page.body().nextPageLink();
                      if (nextPageLink == null) {
                          return Observable.just(page);
                      }
                      return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink, null));
                  }
              });
      }
docs: Lists all of the tasks that are associated with the specified job.
  For multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. Use the list subtasks API to retrieve information about subtasks.
  
  @param jobId The ID of the job.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the PagedList&lt;CloudTask&gt; object