Změnil bych toto:
statement.executeQuery(rawQuery);
results = statement.getResultSet();
na toto:
results = statement.executeQuery(rawQuery);
Ten druhý je určitě způsob, jak to udělat, schválený API, a i když nemohu s jistotou říci, že to první je problém, rozhodně to zdá se jako by to mohlo vytvořit dvě samostatné sady výsledků, z nichž zavřete pouze jednu.