code: public Observable<ServiceResponse<Page<ProjectTaskInner>>> listWithServiceResponseAsync(final String groupName, final String serviceName, final String projectName, final String taskType) {
          return listSinglePageAsync(groupName, serviceName, projectName, taskType)
              .concatMap(new Func1<ServiceResponse<Page<ProjectTaskInner>>, Observable<ServiceResponse<Page<ProjectTaskInner>>>>() {
                  @Override
                  public Observable<ServiceResponse<Page<ProjectTaskInner>>> call(ServiceResponse<Page<ProjectTaskInner>> page) {
                      String nextPageLink = page.body().nextPageLink();
                      if (nextPageLink == null) {
                          return Observable.just(page);
                      }
                      return Observable.just(page).concatWith(listNextWithServiceResponseAsync(nextPageLink));
                  }
              });
      }
docs: Get tasks in a service.
  The services resource is the top-level resource that represents the Data Migration Service. This method returns a list of tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.
  
  @param groupName Name of the resource group
  @param serviceName Name of the service
  @param projectName Name of the project
  @param taskType Filter tasks by task type
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the PagedList&lt;ProjectTaskInner&gt; object