java – When choosing between 3 buttons, it stops working

I have a small problem with a program that I am developing.
In one of the windows to which I arrive, I must choose a level, and it depends on the level I choose, it thunders, showing me an error of index = 0; and size = 0

I do not know what may be failing. Help meenter the description of the image here

When I click on level 2 or 3, this fails, returning this error:
enter the description of the image here

However, when it is level 1, it works correctly, accessing the following frame:
enter the description of the image here

The part of the code is the following:
This is where the levels are chosen

public window LevelsExercise () {
    initComponents ();
    this.setLocationRelativeTo (null);

    this.setTitle ("Level of exercises");
    int idBotonCompareQuestions = 1;

}
private void btnAccedeNivel1ActionPerformed (java.awt.event.ActionEvent evt) {

    windowQuiz vQuiz = new windowQuiz (1);
    vQuiz.setVisible (true);
    this.dispose ();
}

private void btnAccedeNivel2ActionPerformed (java.awt.event.ActionEvent evt) {
    windowQuiz vQuiz = new windowQuiz (2);
    vQuiz.setVisible (true);
    this.dispose ();
}

private void btnAccedeNivel3ActionPerformed (java.awt.event.ActionEvent evt) {
    windowQuiz vQuiz = new windowQuiz (3);
    vQuiz.setVisible (true);
    this.dispose ();
}

private void btnRegressOptionsAlumnoActionPerformed (java.awt.event.ActionEvent evt) {
   windowOptionsStuffStuff vOlumn = new windowOptionsStuff ();
   vOAlumno.setVisible (true);
   this.dispose ();
}

Class where the questions are loaded and shown in the Frame:

public List questions;
    Ask, ask;
    int position = 0;

DataQuiz dataQuiz;

public windowQuiz (int level) {
    datosQuiz = new DatosQuiz ();

    this.position = 0;
    question = null;
    this.questions = dataQuiz.getQuestions (level);

    initComponents ();
    this.setLocationRelativeTo (null);
    this.setTitle ("Questions Quiz");
    btnAvanzar.setVisible (true);
    btnRegard.setVisible (true);

    loadQuestion ();
}

private void loadQuestion () {
    btnGroupResponse.clearSelection ();
    question = questions.get (position);
    lblQuestedMessage.setText (question.getText ());

    rbtnOpcionRespuesta1.setText (question.response.get (0) .getText ());
    rbtnOptionResponse1.setSelected (question.response.get (0) .Selected);

    rbtnOpcionRespuesta2.setText (question.response.get (1) .getText ());
    rbtnOpcionRespuesta2.setSelected (pregunta.respuestas.get (1) .Selected);

    rbtnOpcionRespuesta3.setText (question.response.get (2) .getText ());
    rbtnOpcionRespuesta3.setSelected (pregunta.respuestas.get (2) .Selected);

    rbtnOpcionRespuesta4.setText (question.response.get (3) .getText ());
    rbtnOpcionRespuesta4.setSelected (pregunta.respuestas.get (3) .Selected);

}

Here you send the questions to the DB and the whole roll is done:

public List getQuestions (int Level) {
    // ALL: Get the first 10 questions
    Connection connection = new Connection ();
    Connection connection = connection.getConnection ();
    List listQuestions = new ArrayList();

    try {
        PreparedStatement preparedstatement = connection.prepareStatement ("SELECT * FROM exercises WHERE level =?");
        preparedstatement.setInt (1, Level);
        ResultSet rs = preparedstatement.executeQuery ();

        while (rs.next ()) {

            Question question = new Question ();

            question.setId (rs.getInt ("numExercise"));
            question.setLevel (rs.getInt ("level"));
            question.setText (rs.getString ("description"));

            PreparedStatement preparedstatement2 = connection.prepareStatement ("SELECT * FROM answers WHERE numExercise =?");
            preparedstatement2.setInt (1, question.getId ());
            ResultSet rs2 = preparedstatement2.executeQuery ();

            ArrayList answers = new ArrayList <> ();
            while (rs2.next ()) {
                Answer answer = new Answer ();
                answer.isCorrect = rs2.getBoolean ("isCorrect");
                answer.Text = rs2.getString ("value");
                answer.Selected = false;
                answers.add (answer);

            }
            question.results = answers;
            listQuestions.add (question);
        }
    } catch (Exception e) {
        System.out.println ("Something happened and I do not know what it was" + e.getMessage ());
    }
    return list Questions;
}