public CopyCommentListener(
     EventPublisher eventPublisher,
     HistorySearchManager historySearchManager,
     CustomFieldManager customFieldManager,
     IssueManager issueManager,
     CommentManager commentManager) {
   this.eventPublisher = eventPublisher;
   this.customFieldManager = customFieldManager;
   this.issueManager = issueManager;
   this.commentManager = commentManager;
   findChangeLogFunction = historySearchManager.getFindInChangeLogFunction();
   fatherCf = customFieldManager.getCustomFieldObjectByName(fatherName);
   if (fatherCf == null) {
     log.error("can't find fatherCf custom field with name : " + fatherName);
   }
 }
 OppressionPriorityChangeListener(
     EventPublisher eventPublisher,
     CustomFieldManager customFieldManager,
     SearchService searchService,
     JqlQueryParser jqlQueryParser,
     MegaBusinessLogicManager megaBusinessLogicManager,
     StatusManager statusManager,
     HistorySearchManager historySearchManager,
     OppressionService oppressionService)
     throws Exception {
   this.eventPublisher = eventPublisher;
   this.customFieldManager = customFieldManager;
   this.statusManager = statusManager;
   this.historySearchManager = historySearchManager;
   this.oppressionService = oppressionService;
   priorityCustomField = getSortingCustomField();
   jqlUtil = new JqlUtil(searchService, jqlQueryParser, megaBusinessLogicManager);
   changeLogSearchFunction = historySearchManager.getFindInChangeLogFunction();
   if (changeLogSearchFunction == null) {
     String error = "can't find changelogsearch function in historysearchmanager wtf";
     log.error(error);
     throw new Exception(error);
   }
 }