@Override
@Nullable
protected TriggerItem walk(final Event e) {
debug(e, false);
TriggerItem n = this;
for (int i = breakLevels; i > 0;) {
n = n.getParent();
if (n == null) {
assert false : this;
return null;
}
if (type == EVERYTHING || type == CONDITIONALS && n instanceof Conditional || type == LOOPS && (n instanceof Loop || n instanceof While))
i--;
}
return n instanceof Loop ? ((Loop) n).getActualNext() : n instanceof While ? ((While) n).getActualNext() : n.getNext();
}