docs: public List<S> execute(List<S> solutionList) throws JMetalException {
      if (null == solutionList) {
        throw new JMetalException("The solution list is null");
      } else if (solutionList.isEmpty()) {
          throw new JMetalException("The solution list is empty") ;
      }  else if (solutionList.size() < solutionsToSelect) {
        throw new JMetalException("The population size ("+solutionList.size()+") is smaller than" +
                "the solutions to selected ("+solutionsToSelect+")")  ;
      }
  
      Ranking<S> ranking = new DominanceRanking<S>(dominanceComparator);
      ranking.computeRanking(solutionList) ;
  
      return crowdingDistanceSelection(ranking);
    }