@Override
    public String execute(SessionRequestContent request) throws ServletLogicException {
        String page = ConfigurationManager.getProperty("path.page.user");
        try {
            Criteria criteria = new Criteria();
            User currUser = (User) request.getSessionAttribute(JSP_CURRENT_USER);
            if (currUser == null) {
                throw new TechnicalException("message.errorNullEntity");
            }
            criteria.addParam(DAO_ID_USER, currUser.getIdUser());
            criteria.addParam(DAO_USER_STATUS, ACTIVE);
            User user = (User) request.getSessionAttribute(JSP_USER);
            if (user != null) {
                ClientType type = ClientTypeManager.clientTypeOf(user.getRole().getRoleName());
                criteria.addParam(DAO_ROLE_NAME, type);
            } else {
                criteria.addParam(DAO_ROLE_NAME, request.getSessionAttribute(JSP_ROLE_TYPE));
            }
            AbstractLogic userLogic = LogicFactory.getInctance(LogicType.USERLOGIC);
            Integer resIdUser = userLogic.doRestoreEntity(criteria);
            request.setParameter(JSP_SELECT_ID, resIdUser.toString());
            currUser.setStatus(DELETED);
            page = new ShowUser().execute(request);
        } catch (TechnicalException ex) {
            request.setAttribute("errorRestoreReason", ex.getMessage());
            request.setAttribute("errorRestore", "message.errorRestoreData");
            request.setSessionAttribute(JSP_PAGE, page);
        }
        return page;
    }