protected Set<String> findSystemProperties(Class entityClass) { Set<String> result = new LinkedHashSet<>(); Metadata metadata = AppBeans.get(Metadata.NAME); MetaClass metaClass = metadata.getClassNN(entityClass); String pkName = metadata.getTools().getPrimaryKeyName(metaClass); if (pkName != null) { result.add(pkName); } addSystemPropertiesFrom(Versioned.class, entityClass, metaClass, metadata, result); addSystemPropertiesFrom(Creatable.class, entityClass, metaClass, metadata, result); addSystemPropertiesFrom(Updatable.class, entityClass, metaClass, metadata, result); addSystemPropertiesFrom(SoftDelete.class, entityClass, metaClass, metadata, result); return result; }