private AssessmentIOWriteResult saveAssessment(AssessmentData assessment, String username) throws RegionConflictException { if (assessment.getType().equals(BaseAssessment.DRAFT_ASSESSMENT_STATUS)) { List<AssessmentData> compareTo = AssessmentIO.readAllDraftAssessments(vfs, assessment.getSpeciesID()); for (AssessmentData cur : compareTo) { if (cur.getRegionIDs().containsAll(assessment.getRegionIDs()) || cur.isGlobal() && assessment.isGlobal()) { if (!cur.getAssessmentID().equals(assessment.getAssessmentID())) throw new RegionConflictException(); } } } return AssessmentIO.writeAssessment(assessment, username, vfs, true); }