public void sequence(FA seq) {
        int idx;
        int relocation;

        relocation = append(seq);

        if (seq.start != -1) {
            for (idx = ends.first(); idx != -1; idx = ends.next(idx)) {
                states[idx].add(relocation + seq.start, null);
            }
        }

        ends.clear();
        for (idx = seq.ends.first(); idx != -1; idx = seq.ends.next(idx)) {
            ends.add(idx + relocation);
        }
    }
public void sequence ( FA seq ) { int idx ; int relocation ; relocation = append ( seq ) ; if ( seq . start != - 1 ) { for ( idx = ends . first ( ) ; idx != - 1 ; idx = ends . next ( idx ) ) { states [ idx ] . add ( relocation + seq . start , null ) ; } } ends . clear ( ) ; for ( idx = seq . ends . first ( ) ; idx != - 1 ; idx = seq . ends . next ( idx ) ) { ends . add ( idx + relocation ) ; } }
-- combinatation of FA