@Override
    Integer deleteEntity(Criteria criteria, AbstractDao dao) throws DaoException {
        criteria.addParam(DAO_COUNTRY_STATUS, DELETED);
        Integer res = updateCountry(criteria, dao);
        List<Country> list = getEntity(criteria, dao);
        for (Country c : list) {
            List<City> cities = (List<City>) c.getCityCollection();
            for (City city : cities) {
                Criteria crit = new Criteria();
                crit.addParam(DAO_ID_CITY, city.getIdCity());
                new CityLogic().deleteEntity(crit, dao);
            }
        }
        return res;
    }