private Integer createDirection(Criteria criteria, AbstractDao dao) throws DaoException {
        Integer idDescription = dao.createNewDescription(criteria).get(0);
        criteria.remuveParam(DAO_ID_DESCRIPTION);
        criteria.addParam(DAO_ID_DESCRIPTION, idDescription);
        List<Integer> res =  dao.createNewDirection(criteria);
        if (res != null && !res.isEmpty()) {
            Integer idDirection = res.get(0);
            criteria.addParam(DAO_ID_DIRECTION, idDirection);
            dao.createNewDirectionCountryLinks(criteria);
            dao.createNewDirectionCityLinks(criteria);
            dao.createNewDirectionStayHotels(criteria);
            return idDirection;
        } else {
            throw new DaoException("Error in hotel query.");
        }
    }