### Question:
XmlXpathDeserializer implements EventDeserializer { @Override public void reset() throws IOException { ensureOpen(); int index = markIt.previousIndex(); currentIt = index >= 0 ? list.listIterator(markIt.previousIndex()) : list.listIterator(0); if (currentIt.hasNext()) { currentIt.next(); } } XmlXpathDeserializer(Context context, ResettableInputStream in); @Override Event readEvent(); @Override List<Event> readEvents(int numEvents); @Override void mark(); @Override void reset(); @Override void close(); String nodeToString(Node node); String documentToString(Document document);  }### Answer:
@Test public void testReset() throws IOException { Context context = new Context(); context.put("expression", "/bookstore/book/title/text()"); EventDeserializer des = new XmlXpathDeserializer.Builder().build(context, getTestInputStream()); validateReset(des); }