import java.util.Comparator;
import java.util.random.RandomGenerator;
import java.util.random.RandomGeneratorFactory;

public class Main {

    public static void main(String[] args) {
        RandomGeneratorFactory<RandomGenerator> best = RandomGeneratorFactory.all()
                .sorted(Comparator.comparingInt(RandomGenerator::stateBits).reversed())
                //.sorted(Comparator.comparingInt(RandomGeneratorFactory<RandomGenerator>::stateBits).reversed())  //correct code
                .findFirst()
                .orElse(RandomGeneratorFactory.of("Random"));
        System.out.println(best.name() + " in " + best.group() + " was selected");

        RandomGenerator rng = best.create();
    }
}
