public SecuredTaskTriggerBean execute(SecuredTaskTriggerBean task) throws GranException {

        //String clientDataUDFName = KernelManager.getFind().findUdf(INCIDENT_CLIENTDATA_UDFID).getCaption();
        String client = task.getUdfValue(INCIDENT_CLIENT_UDF);
        introduceNewClient(task, client);


        SecuredUserBean clientUser = task.getSecure().getUser();
        if (client!=null && client.length()>0)
            clientUser = AdapterManager.getInstance().getSecuredUserAdapterManager().findByName(task.getSecure(), client);
        else {
            task.setUdfValue(INCIDENT_CLIENT_UDF, clientUser.getName());
            task.setUdfValue(INCIDENT_EMAIL_UDF, clientUser.getEmail());
            task.setUdfValue(INCIDENT_PHONE_UDF, clientUser.getTel());
            task.setUdfValue(INCIDENT_COMPANY_UDF, clientUser.getCompany());
        }

        if (task.getHandlerUserId()==null){
            // set Assignee

            ArrayList statuses = KernelManager.getAcl().getEffectiveStatuses(task.getParentId(), task.getSubmitterId());
            if (statuses.contains(FIRST_LINE_ROLE_ID) && !statuses.contains(ESCALATOR_BOT_ROLE)) {
                task.setHandlerGroupId(null);
                task.setHandlerUserId(task.getSubmitterId());
            } else if (statuses.contains(CLIENT_ROLE_ID)){
                task.setHandlerGroupId(FIRST_LINE_ROLE_ID);
            }
        }
        return task;
    }