/** Constructor used for dynamic creation */
 public AutoGeneratedProcessBusinessDataDMEntity(
     ProcessBusinessDataRepository repository, FlexoProcess process) {
   super(
       repository.getDMModel(),
       getProcessBusinessDataEntityNameForProcess(process),
       repository.getBusinessDataPackage().getName(),
       getProcessBusinessDataEntityNameForProcess(process),
       DMType.makeResolvedDMType(repository.getProcessBusinessDataEntity()));
   repository.registerEntity(this);
 }
  /**
   * Create a property with the specified key and the specified type if it does not exist yet
   *
   * @param key
   * @param type
   * @return the created property or the existing one
   */
  private DMProperty createPropertyForProcessKey(String key, Class<? extends Object> type) {
    DMProperty property = getDMProperty(key);
    if (property == null) {
      property =
          createDMProperty(
              key,
              DMType.makeResolvedDMType(type, getProject()),
              DMPropertyImplementationType.PUBLIC_ACCESSORS_ONLY);
      property.setIsReadOnly(true);
    }

    return property;
  }