public MappedDrinkType findMappedDrinkType(final int id) {
        MappedDrinkType drinkType = new MappedDrinkType();
        
        final String query = Conca.t(
            "select ",
            "   dt.id                           as typeId, ",
            "   dt.name                         as name, ",
            "   dt.descript                     as description, ",
            "   dt.cost_per_ml                  as costPerML, ",
            "   u.id                            as userId, ",
            "   u.username                      as username, ",
            "   u.active                        as active ",
            "from ",
            "   drink_type dt join user u on (dt.created_by_userFk = u.id) ",
            "where dt.id = ?"
        );
        
        try {
            List<Object> params = new ArrayList<Object>();
            params.add(id);
            
            List<Class<?>> types = new ArrayList<Class<?>>();
            types.add(Integer.class);
            
            final ResultSet rs = execute(query, params, types);
            
            if (rs.next()) {
                drinkType.setTypeId(rs.getInt("typeId"));
                drinkType.setName(rs.getString("name"));
                drinkType.setDescription(rs.getString("description"));
                drinkType.setCostPerML(rs.getDouble("costPerML"));
                drinkType.getCreatedBy().setId(rs.getInt("userId"));
                drinkType.getCreatedBy().setUsername(rs.getString("username"));
                drinkType.getCreatedBy().setActive(rs.getInt("active") == 1);
            }
            
        } catch (Exception e) {
            log4jLogger.error("error occurred while attempting to find drink type", e);
        }
        
        return drinkType;
    }