State firstDashState = new NamedState("FIRSTDASHSTOP");
State beginEndState = new NamedState("STOPBEGINSTOP");
State endEndState = new NamedState("STOPENDSTOP");
State sectionStatusState = new NamedState("DUALSTARTSTOP");
Condition rangeCombineCondition = new DisjoinCondition(
new RangeCondition(), new RangeStrengthCondition());
Condition sectionBracket = new PunctuationValueCondition('[');
Condition soloCondition = new WordSetCondition(iv_singleStopWordSet,
false);
Condition soloEndCondition = new WordSetCondition(iv_singleStopWordSet,
false);
Condition firstDualCondition = new WordSetCondition(
iv_firstStopDualWordSet, false);
Condition secondOffDualCondition = new WordSetCondition(
iv_secondOffDualWordSet, 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(sectionBracket, beginEndState);