@@ -0,0 +1,1102 @@
+package prototypev.PermissiveFov;%0A%0Aimport java.security.SecureRandom;%0A%0Apublic class Randomizer extends SecureRandom %7B%0A    private static Randomizer instance;%0A%0A    private Randomizer() %7B%0A    %7D%0A%0A    public static Randomizer getInstance() %7B%0A        if (instance == null) %7B%0A            instance = new Randomizer();%0A        %7D%0A%0A        return instance;%0A    %7D%0A%0A    /**%0A     * @param clazz   The class of the enum.%0A     * @param %3CTEnum%3E The type of the enum.%0A     * @return A pseudo-random uniformly distributed enum value of the specified type.%0A     */%0A    public %3CTEnum extends Enum%3C?%3E%3E TEnum getRandomEnum(Class%3CTEnum%3E clazz) %7B%0A        int x = nextInt(clazz.getEnumConstants().length);%0A        return clazz.getEnumConstants()%5Bx%5D;%0A    %7D%0A%0A    /**%0A     * @param minimum The lower bounds of the range.%0A     * @param maximum The upper bounds of the range.%0A     * @return A pseudo-random uniformly distributed %7B@code int%7D in the closed range %5Bminimum, maximum%5D.%0A     */%0A    public int nextInt(int minimum, int maximum) %7B%0A        int range = maximum - minimum + 1;%0A        return nextInt(range) + minimum;%0A    %7D%0A%7D%0A

Create utility class for generating random values