code: public void analyzeEndStop()
      {
          DFA<T> dfa = constructDFA(new Scope<DFAState<T>>("analyzeEndStop"));
          for (DFAState<T> s : dfa)
          {
              if (s.isAccepting())
              {
                  if (s.isEndStop())
                  {
                      for (NFAState<T> n : s.getNfaSet())
                      {
                          if (n.isAccepting())
                          {
                              n.setEndStop(true);
                          }
                      }
                  }
              }
          }
      }
docs: Marks all nfa states that can be accepting to end stop.