private boolean hasErrors(Property property) { if (property instanceof PropertySimple) { return property.getErrorMessage() != null; } else if (property instanceof PropertyList) { return hasErrors((PropertyList) property); } else if (property instanceof PropertyMap) { return hasErrors((AbstractPropertyMap) property); } else { return false; } } }