* </ol>
*
* @return
*/
private Machine getNoChangeStatusMachine() {
State startState = new NamedState("START5");
State endState = new NamedState("END5");
endState.setEndStateFlag(true);
Machine m = new Machine(startState);
State leftStatusState = new NamedState("LEFT_STATUS_NOCHANGE");
State leftDosagesState = new NamedState("LEFT_DOSE_NOCHANGE");
State lastTextState = new NamedState("RIGHT_FREQ_NOCHANGE");
State middleATextState = new NamedState("MID_TEXT_NOCHANGE");
State firstDashState = new NamedState("FIRSTDASHNOCHANGE");
State thenStatusState = new NamedState("DUALSTARTINCREASE");
State sectionStatusState = new NamedState("DUALSTARTNOCHANGE");
State dualWordState = new NamedState("START_NOCHANGE");
Condition rangeCombineCondition = new DisjoinCondition(
new RangeCondition(), new RangeStrengthCondition());
Condition soloCondition = new WordSetCondition(iv_singleNoChangeWordSet,
false);
Condition firstDualCondition = new WordSetCondition(
iv_firstNoChangeDualWordSet, false);
Condition secondDualCondition = new WordSetCondition(
iv_secondDualWordSet, false);
Condition thenCondition = new WordSetCondition(
iv_multiThenWordSet, false);
Condition containsDosagesCondition = new StrengthCondition();
startState.addTransition(thenCondition, thenStatusState);
startState.addTransition(soloCondition, endState);
startState.addTransition(firstDualCondition, sectionStatusState);
startState.addTransition(rangeCombineCondition, leftDosagesState);
startState.addTransition(containsDosagesCondition, leftStatusState);
startState.addTransition(
new WordSetCondition(iv_noChangeWordSet, false), dualWordState);
startState.addTransition(new AnyCondition(), startState);
thenStatusState.addTransition(firstDualCondition, sectionStatusState);
thenStatusState.addTransition(soloCondition, endState);
thenStatusState.addTransition(new AnyCondition(), startState);
sectionStatusState.addTransition(secondDualCondition, endState);
sectionStatusState.addTransition(new AnyCondition(), startState);
leftStatusState.addTransition(soloCondition, endState);
leftStatusState.addTransition(new AnyCondition(), startState);
firstDashState.addTransition(new AnyCondition(), startState);
dualWordState.addTransition(new WordSetCondition(iv_changeWordSet,
false), endState);
dualWordState.addTransition(new AnyCondition(), startState);
middleATextState.addTransition(new AnyCondition(), startState);
lastTextState.addTransition(new AnyCondition(), startState);
endState.addTransition(new AnyCondition(), startState);