in src/main/java/org/jetbrains/jetCheck/ReplayDataStructure.java [27:33]
private <E extends StructureElement> E nextChild(Class<E> required) {
if (!iterator.hasNext()) throw new CannotRestoreValue();
Object next = iterator.next();
if (!required.isInstance(next)) throw new CannotRestoreValue();
//noinspection unchecked
return (E)next;
}