/**
   * Returns a list of values for each button to generate.
   *
   * @param taskId the ID of the current task
   * @param modelInstance the BPMN model instance
   * @return the list of button values
   */
  protected List<Map<String, String>> getButtons(String taskId, BpmnModelInstance modelInstance) {
    ExclusiveGateway gateway = getExclusiveGateway(taskId, modelInstance);

    List<Map<String, String>> buttonValues = new ArrayList<Map<String, String>>();
    for (SequenceFlow sequenceFlow : gateway.getOutgoing()) {
      buttonValues.add(getConditionValues(sequenceFlow));
    }

    return buttonValues;
  }