code: public Transition<NFAState<T>> addTransition(CharRange condition, NFAState<T> to)
      {
          Transition<NFAState<T>> t = new Transition<>(condition, this, to);
          Set<Transition<NFAState<T>>> set = transitions.get(t.getCondition());
          if (set == null)
          {
              set = new HashSet<>();
              transitions.put(t.getCondition(), set);
          }
          set.add(t);
          edges.add(to);
          to.inStates.add(this);
          return t;
      }
docs: Adds a transition
  @param condition
  @param to
  @return