code: public void setResultValue(String actionId, Object resultValue) {
          if (actionId == null || !actionId.contains(ActivityContext.ID_SEPARATOR)) {
              this.actionId = actionId;
              this.resultValue = resultValue;
          } else {
              String[] ids = StringUtils.tokenize(actionId, ActivityContext.ID_SEPARATOR, true);
              if (ids.length == 1) {
                  this.actionId = null;
                  this.resultValue = resultValue;
              } else if (ids.length == 2) {
                  ResultValueMap resultValueMap = new ResultValueMap();
                  resultValueMap.put(ids[1], resultValue);
                  this.actionId = ids[0];
                  this.resultValue = resultValueMap;
              } else {
                  ResultValueMap resultValueMap = new ResultValueMap();
                  for (int i = 1; i < ids.length - 1; i++) {
                      ResultValueMap resultValueMap2 = new ResultValueMap();
                      resultValueMap.put(ids[i], resultValueMap2);
                      resultValueMap = resultValueMap2;
                  }
                  resultValueMap.put(ids[ids.length - 1], resultValue);
                  this.actionId = actionId;
                  this.resultValue = resultValueMap;
              }
          }
      }
docs: Sets the result value of the action.
  
  @param actionId the new action id
  @param resultValue the new result value of the action