JDBC-ResultSet está cerrado en while-Loop

Estoy teniendo un mal momento con un ResultSet, que se cierra dentro de un Loop de tiempo para iterar este ResultSet. Conozco la línea exacta en la que se cierra ResultSet, pero no tengo idea de por qué.

    public LinkedList<Athlet> alleAbrufen () throws SQLException {
        LinkedList<Athlet> alleAthleten = new LinkedList<Athlet>();
        String abrufenAthleten = "SELECT * FROM Athlet ORDER BY athlet_id";
        ResultSet athleten_rs = stmt.executeQuery(abrufenAthleten);
        while (athleten_rs.next()) {
            long id = athleten_rs.getInt(1);
            String name = athleten_rs.getString(2);
            LinkedList<Leistung> alleLeistungen = alleAbrufen((int) (id)); //after this line the ResultSet gets closed
            alleAthleten.add(new Athlet(id, name, alleLeistungen));
        }
        return alleAthleten;
    }

    public LinkedList<Leistung> alleAbrufen(int athlet_id) throws SQLException {
        LinkedList<Leistung> alleLeistungen = new LinkedList<Leistung>();
        String selectLeistungen = "SELECT * FROM Leistung WHERE athlet_id="+athlet_id;
        ResultSet rs = stmt.executeQuery(selectLeistungen);
        while (rs.next()) {
            long id = rs.getInt(1); 
            String bezeichnung = rs.getString(2);
            String datum = rs.getString(3);
            double geschwindigkeit = rs.getDouble(4);
            boolean selectedForSlopeFaktor = rs.getBoolean(5);
            int strecke_id = rs.getInt(7);
            long longAthlet_id = (long) athlet_id;
            Leistung leistung = new Leistung(strecke_id, longAthlet_id, bezeichnung, datum, geschwindigkeit);
            leistung.setLeistungID(id);
            leistung.setIsUsedForSlopeFaktor(selectedForSlopeFaktor);
            alleLeistungen.add(leistung);
        }
        return alleLeistungen;
    }

Marqué la línea después de la cualResultSet está cerrado con un comentario.Alle otros métodos, constructores, etc. utilizados en el ejemplo anterior se prueban y funcionan correctamente. ¿Alguien tiene idea de por qué llamar al segundo método cierra elResultSet en el primer método?

Respuestas a la pregunta(3)

Su respuesta a la pregunta