code: public Optional<Project> findProject(String name) throws IllegalArgumentException {
          if (name == null || name.isEmpty()) {
              throw new IllegalArgumentException("Project name cannot be empty");
          }
          return getProject(name);
      }
docs: Finds for the given project.
  
  @param name project name
  @return given project or an empty {@code Optional} if project does not exist
  @throws IllegalArgumentException