@Override public boolean isUniqueUsage(Questionnaire questionnaire, QuestionnaireUsage usage) { Map<String, Object> fieldValues = new HashMap<String, Object>(); fieldValues.put(MODULE_ITEM_CODE, usage.getCoeusModule().getModuleCode()); fieldValues.put(MODULE_SUB_ITEM_CODE, usage.getCoeusSubModule().getSubModuleCode()); List<QuestionnaireUsage> usages = (List<QuestionnaireUsage>) businessObjectService.findMatching(QuestionnaireUsage.class, fieldValues); for (QuestionnaireUsage curUsage : usages) { if (!StringUtils.equals( questionnaire.getQuestionnaireSeqId(), curUsage.getQuestionnaire().getQuestionnaireSeqId()) && curUsage.getQuestionnaire().isActive() && isCurrentQuestionnaire(curUsage.getQuestionnaire())) { return false; } } return true; }