/**
   * Create a getter for the specified process single process children business data and a property
   * for the children process id (for each child process with a business data) <br>
   * Need to be called when the children process business data are set !
   *
   * @param process
   * @param propertiesToKept return a set of properties to kept
   */
  public Set<DMObject> createPropertiesForChildrenProcessBusinessData(FlexoProcess process) {
    Set<DMObject> propertiesToKept = new HashSet<DMObject>();
    for (FlexoProcess childProcess : process.getSubProcesses()) {
      if (childProcess.getBusinessDataType() != null && childProcess.isSingleSubProcess()) {
        DMProcessBusinessDataAccessingMethod foundMethod =
            DMProcessBusinessDataAccessingMethod.getProcessBusinessDataAccessingMethod(
                this, childProcess, CodeType.AUTOGENERATEDBUSINESSDATA_CHILD);

        if (foundMethod == null) {
          foundMethod =
              new DMProcessBusinessDataAccessingMethod(
                  this, childProcess, CodeType.AUTOGENERATEDBUSINESSDATA_CHILD);
        } else {
          foundMethod.updateProcess(childProcess);
        }

        propertiesToKept.add(foundMethod);
      }
    }

    return propertiesToKept;
  }