private void refresh() {
        try {
            lowerLowerDisplay.removeAll();
            lowerLowerDisplay.revalidate();
            lowerLowerDisplay.repaint();
            ResultSet cagesRs = query1.getCage(cage.getId());
            while (cagesRs.next()) {
                Cage newCage = extractCageData(cagesRs);

                ResultSet entranceRs = query2.getEntrances(newCage.getId());

                while (entranceRs.next()) {
                    Entrance entrance = new Entrance(entranceRs.getInt("id"));
                    newCage.getEntrances().put(entrance.getId(), entrance);
                    ResultSet doorsRs = query3.getDoors(entrance.getId());
                    while (doorsRs.next()) {
                        Door door = new Door(doorsRs.getInt("id"));
                        switch (doorsRs.getString("open")) {
                            case "true":
                                door.open();
                                break;
                            case "false":
                                door.close();
                                break;
                        }
                        switch (doorsRs.getString("locked")) {
                            case "true":
                                door.lock();
                                break;
                            case "false":
                                door.unlock();
                                break;
                        }
                        entrance.getDoors().put(door.getId(), door);
                    }
                }
                cage = newCage;
            }

        } catch (SQLException ex) {
            System.out.println(ex);
        }

        displayEntrancesAndDoors();
    }