@Test public void testProbes() { ExecutionEntry e = p.getExecutionEntryById(0); Assert.assertEquals(0, e.getProgramBlock().getId()); class Box { private int i = 0; } final Box box = new Box(); Assert.assertEquals(0, box.i); e.traverse(); Assert.assertEquals(0, box.i); e.addFirst( new Probe() { @Override public void execute() { box.i++; } }); e.traverse(); Assert.assertEquals(1, box.i); e.addLast( new Probe() { @Override public void execute() { box.i *= 10; } }); e.traverse(); Assert.assertEquals(20, box.i); p.clear(); e.traverse(); Assert.assertEquals(20, box.i); }