code: private int append(FA add) {
          int relocation;
          int idx;
  
          relocation = used;
          ensureCapacity(used + add.used);
          for (idx = 0; idx < add.used; idx++) {
              states[relocation + idx] =
                  new State(add.states[idx], relocation);
          }
          used += add.used;
          return relocation;
      }
docs: Adds a copy of all states and transitions from the automaton
  specified. No transition is added between old and new states.
  States and transitions are relocated with the offsets specified.