code: @Get("/projects")
      public CompletableFuture<List<ProjectDto>> listProjects(@Param("status") Optional<String> status) {
          if (status.isPresent()) {
              checkStatusArgument(status.get());
              return CompletableFuture.supplyAsync(() -> projectManager().listRemoved().stream()
                                                                         .map(ProjectDto::new)
                                                                         .collect(toImmutableList()));
          }
  
          return CompletableFuture.supplyAsync(() -> projectManager().list().values().stream()
                                                                     .map(DtoConverter::convert)
                                                                     .collect(toImmutableList()));
      }
docs: GET /projects?status={status}
  
  <p>Returns the list of projects or removed projects.