public String getString() {
                ByteBuffer buffer = ByteBuffer.allocate(string.size());
                for (java.util.Iterator<Byte> itr = string.iterator(); itr.hasNext(); ) {
                    byte b = itr.next();
                    buffer.put(b);
                }
                buffer.flip();
                return fsa.decode(buffer);
            }
Copy constructor. (Does not copy the state stack)
fsa/src/main/java/com/yahoo/fsa/FSA.java