code: public Map<String, View> getViews(FolderJob folder) throws IOException {
          // This is much better than using &depth=2
          // http://localhost:8080/api/json?pretty&tree=views[name,url,jobs[name,url]]
          List<View> views = client.get(UrlUtils.toBaseUrl(folder) + "?tree=views[name,url,jobs[name,url]]", MainView.class).getViews();
  
          //TODO: Think about this Lambda. It's too large? Make it smaller!
          return views.stream().map(view -> {
                  SET_CLIENT(this.client);
  
                  // TODO: Think about the following? Does there exists a simpler/more
                  // elegant method?
                  for (Job job : view.getJobs()) {
                      SET_CLIENT(this.client);
                  }
                  for (View viewView : view.getViews()) {
                      SET_CLIENT(this.client);
                  }
  
                  return view;
              })
              .collect(Collectors.toMap(s -> s.getName(), v -> v));
      }
docs: Get a list of all the defined views on the server (at the summary level
  and in the given folder)
  
  @param folder {@link FolderJob}
  @return list of defined views
  @throws IOException in case of an error.