digraph statemachine {
  rankdir=LR;
  node [shape=rounded, style=filled, fillcolor=white, fontname="Arial"];
  edge [fontname="Arial", fontsize=10];

  STATEY_choice [shape=diamond, label="", fillcolor="blue", width=0.2, height=0.2];
  STATEY -> STATEY_choice [style=dotted, color="blue"];
  STATE9_choice [shape=diamond, label="", fillcolor="green", width=0.2, height=0.2];
  STATE9 -> STATE9_choice [style=dotted, color="green"];
  STATE8_choice [shape=diamond, label="", fillcolor="red", width=0.2, height=0.2];
  STATE8 -> STATE8_choice [style=dotted, color="red"];
  _start [shape=circle, label="", fillcolor=black, width=0.1];
  _start -> STATE1;
  STATEZ [fillcolor=lightgray];
  STATE1 -> STATE2 [label="Events.EVENT1", style="solid", color="black"];
  STATE2 -> STATE3 [label="Events.EVENT2", style="solid", color="black"];
  STATE3 -> STATE4 [label="Events.EVENT3", style="solid", color="black"];
  STATE4 -> STATE5 [label="Events.EVENT4", style="solid", color="black"];
  STATE5 -> STATE6 [label="Events.EVENT5", style="solid", color="black"];
  STATE6 -> STATE7 [label="Events.EVENT6", style="solid", color="black"];
  STATE7 -> STATE8 [label="Events.EVENT7", style="solid", color="black"];
  STATE8 -> STATE9 [label="Events.EVENT8", style="solid", color="black"];
  STATE9 -> STATE10 [label="Events.EVENT9", style="solid", color="black"];
  STATE1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
  STATE2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
  STATE3 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
  STATE4 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
  STATE5 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
  STATE4 -> STATEY [label="Events.EVENTY", style="solid", color="black"];
  STATEY_choice -> STATEX [label="[guardVarEquals(\"value1\")] (order=0)", style="solid", color="blue"];
  STATEY_choice -> STATEZ [label="(order=1)", style="solid", color="blue"];
  STATE9_choice -> STATE8 [label="[guardVarEquals(\"stepBack\")] (order=0)", style="solid", color="green"];
  STATE9_choice -> STATE7 [label="[guardVarEquals(\"stepBackMore\")] (order=1)", style="solid", color="green"];
  STATE9_choice -> STATE6 [label="(order=2)", style="solid", color="green"];
  STATE8_choice -> STATE9 [label="[guardVarEquals(\"forward9\")] (order=0)", style="solid", color="red"];
  STATE8_choice -> STATE10 [label="(order=1)", style="solid", color="red"];
  STATE3 -> STATE_EXTRA_1 [label="Events.EVENT_1_2", style="solid", color="black"];
  STATE_EXTRA_1 -> STATE_EXTRA_2 [label="Events.EVENT_1_3", style="solid", color="black"];
  STATE_EXTRA_1 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
  STATE_EXTRA_2 -> CANCEL [label="Events.EVENT_CANCEL", style="solid", color="black"];
}

