    public RainbowParameters(int[] vi)
    {
        this.vi = vi;

        checkParams();
    }
The application uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.