Interpreter interpreter = Interpreter.fromXML(xml);
if (interpreter.getState() != InterpreterState.USCXML_INSTANTIATED) throw new RuntimeException("");
if (interpreter.step() != InterpreterState.USCXML_MICROSTEPPED) throw new RuntimeException("");
if (interpreter.step() != InterpreterState.USCXML_FINISHED) throw new RuntimeException("");
interpreter.reset();
if (interpreter.getState() != InterpreterState.USCXML_INSTANTIATED) throw new RuntimeException("");
if (interpreter.step() != InterpreterState.USCXML_MICROSTEPPED) throw new RuntimeException("");
if (interpreter.step() != InterpreterState.USCXML_FINISHED) throw new RuntimeException("");