/**
   * Create a getter for the specified process parent business data and a property for the parent
   * process id (if it has parent and if the parent has business data)
   *
   * @param process
   * @param propertiesToKept return a set of properties to kept
   */
  private Set<DMObject> createPropertiesForParentProcessBusinessData(FlexoProcess process) {
    Set<DMObject> propertiesToKept = new HashSet<DMObject>();
    if (process.getParentProcess() != null
        && process.getParentProcess().getBusinessDataType() != null) {
      propertiesToKept.add(
          createPropertyForProcessKey(
              getParentProcessBusinessDataIdKey(process.getParentProcess()), Integer.class));

      DMProcessBusinessDataAccessingMethod foundMethod =
          DMProcessBusinessDataAccessingMethod.getProcessBusinessDataAccessingMethod(
              this, process.getParentProcess(), CodeType.AUTOGENERATEDBUSINESSDATA_PARENT);

      if (foundMethod == null) {
        foundMethod =
            new DMProcessBusinessDataAccessingMethod(
                this, process.getParentProcess(), CodeType.AUTOGENERATEDBUSINESSDATA_PARENT);
      } else {
        foundMethod.updateProcess(process.getParentProcess());
      }

      propertiesToKept.add(foundMethod);
    }

    return propertiesToKept;
  }
 @Override
 protected boolean isEnabledForSelection(
     FlexoProcess object, Vector<WKFObject> globalSelection) {
   return object != null && !object.isImported() && object.getParentProcess() != null;
 }