/** @return dataPathContacts */
  private List<DataPathValue> generateDataPathContacts() {
    List<DataPathValue> dataPathContacts = new ArrayList<DataPathValue>();
    ProcessDefinition processDefinition = null;
    try {
      processDefinition =
          ContextPortalServices.getQueryService()
              .getProcessDefinition(processInstance.getProcessID());
    } catch (Exception e) {
      trace.error(e);
    }
    if (processDefinition != null) {
      List<DataPath> list = processDefinition.getAllDataPaths();

      for (int n = 0; n < list.size(); ++n) {
        DataPath dataPath = list.get(n);
        if (dataPath.getDirection().equals(Direction.IN)
            || dataPath.getDirection().equals(Direction.IN_OUT)) {
          Object dataValue = null;
          try {
            dataValue =
                ContextPortalServices.getWorkflowService()
                    .getInDataPath(processInstance.getOID(), dataPath.getId());
          } catch (Exception e) {
            trace.error(e);
          }
          if (dataValue != null
              && EMailAddressValidator.validateEmailAddress(dataValue.toString())) {
            dataPathContacts.add(
                new DataPathValue(
                    dataPath.getId(),
                    dataPath.getName(),
                    dataValue != null ? dataValue.toString() : ""));
          }
        }
      }
    }
    return dataPathContacts;
  }
 private Object getCurrentProcessInstanceDataValue(String path) {
   return ContextPortalServices.getWorkflowService().getInDataPath(processInstance.getOID(), path);
 }