public static <S extends Solution<?>> S getBestSolution(S solution1, S solution2, Comparator<S> comparator) {
    return getBestSolution(solution1, solution2, comparator, () -> JMetalRandom.getInstance().nextDouble());
  }
public static < S extends Solution < ? > > S getBestSolution ( S solution1 , S solution2 , Comparator < S > comparator ) { return getBestSolution ( solution1 , solution2 , comparator , ( ) -> JMetalRandom . getInstance ( ) . nextDouble ( ) ) ; }
Return the best solution between those passed as arguments. If they are equal or incomparable
one of them is chosen randomly.

@return The best solution