code: private List<S> findNeighbors(List<S> solutionSet, int solution, int [][] neighborhood) {
      List<S> neighbors = new ArrayList<>(neighborhood.length+1);
  
      for (int [] neighbor : neighborhood) {
        int index = getNeighbor(solution, neighbor) ;
        neighbors.add(solutionSet.get(index));
      }
  
      return neighbors;
    }
docs: Returns a solutionSet containing the neighbors of a given solution
  @param solutionSet From where neighbors will be obtained
  @param solution The solution for which the neighbors will be computed
  @param neighborhood The list of neighbors we want to obtain as shift regarding to solution
  @return