public static Automaton getPrefixesOf(Automaton automaton) {
Automaton result = automaton.clone();
for (State state : result.getLiveStates()) {
state.setAccept(true);
}
result.restoreInvariant();
if (result.isDeterministic()) {
result.minimize();
}
return result;
}