@Override public ValidationIssue<FIBModelObjectShouldHaveAUniqueName, FIBModelObject> applyValidation( FIBModelObject object) { if (StringUtils.isNotEmpty(object.getName())) { List<FIBModelObject> allObjectsWithThatName = object.getObjectsWithName(object.getName()); if (allObjectsWithThatName.size() > 1) { allObjectsWithThatName.remove(object); GenerateUniqueName fixProposal = new GenerateUniqueName(); ProblemIssue<FIBModelObjectShouldHaveAUniqueName, FIBModelObject> returned; if (object instanceof FIBWidget && ((FIBWidget) object).getManageDynamicModel()) { returned = new ValidationError<FIBModelObjectShouldHaveAUniqueName, FIBModelObject>( this, object, "object_($object.toString)_has_duplicated_name", fixProposal); } else { returned = new ValidationWarning<FIBModelObjectShouldHaveAUniqueName, FIBModelObject>( this, object, "object_($object.toString)_has_duplicated_name", fixProposal); } returned.addToRelatedValidableObjects(allObjectsWithThatName); return returned; } } return null; }