code: private void validateUpdateAllowed(Attribute attr) {
      String attrIdentifier = attr.getIdentifier();
      Attribute systemAttr = systemEntityTypeRegistry.getSystemAttribute(attrIdentifier);
      if (systemAttr != null && !EntityUtils.equals(attr, systemAttr)) {
        throw new SystemMetadataModificationException();
      }
    }
docs: Updating attribute meta data is allowed for non-system attributes. For system attributes
  updating attribute meta data is only allowed if the meta data defined in Java differs from the
  meta data stored in the database (in other words the Java code was updated).
  
  @param attr attribute