public List<MenuItem> getMenuChoices() throws RuntimeException {
        List<MenuItem> items = new ArrayList<MenuItem>();

        try {
            // Make sure you always open a connection before trying to
            // send commands to the database.            
            db.openConnection(DRIVER, URL, ADMIN, PASSWORD);

            List<Map> rawData = db.findRecords(sql, true);
            for (Map record : rawData) {
                MenuItem item = new MenuItem();
                int id = Integer.valueOf(record.get(MENU_ID).toString());
                item.setMenuId(id);
                String name = String.valueOf(record.get(MENU_ITEM));
                item.setMenuItem(name);
                Double price = Double.valueOf(record.get(MENU_ITEM_PRICE).toString());
                item.setItemPrice(price);
                int cat = Integer.valueOf(record.get(CATEGORY).toString());
                item.setCategory(cat);
                String value = String.valueOf(record.get(MENU_VALUE).toString());
                item.setMenuValue(value);
                items.add(item);
            }

            return items;

        } catch (IllegalArgumentException ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        } catch (ClassNotFoundException ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        } catch (SQLException ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        } catch (Exception ex) {
            throw new RuntimeException(ex.getMessage(), ex);
        }
    }