@Override public boolean isValid(Object value, ConstraintValidatorContext context) { try { if (value instanceof Entity) { PersistenceHelper.checkLoadedWithView((Entity) value, view); } else if (value instanceof Collection) { @SuppressWarnings("unchecked") Collection<Entity> entities = (Collection<Entity>) value; for (Entity entity : entities) { PersistenceHelper.checkLoadedWithView(entity, view); } } return true; } catch (IllegalArgumentException e) { LoggerFactory.getLogger(RequiredViewValidator.class) .debug("Failed validation of instance with required view: {}", e.getMessage()); return false; } } }