}
} else if (event instanceof VMDeathEvent) {
} else if (event instanceof VMDisconnectEvent) {
break eventHandlingLoop;
} else if (event instanceof BreakpointEvent || event instanceof StepEvent) {
final ThreadReference thread;
if (event instanceof BreakpointEvent) {
BreakpointEvent be = (BreakpointEvent) event;
thread = be.thread();
} else {
StepEvent se = (StepEvent) event;
thread = se.thread();
this.vm.eventRequestManager().deleteEventRequest(se.request());
}
SwingUtilities.invokeLater(new Runnable() {
public void run() {
net.sf.rej.gui.event.Event event = new net.sf.rej.gui.event.Event(EventType.DEBUG_SUSPENDED);
event.setVM(new VirtualMachineWrapper(vm));
dispatcher.notifyObservers(event);
event = new net.sf.rej.gui.event.Event(EventType.DEBUG_THREAD_CHANGE_REQUESTED);
event.setThread(new ThreadReferenceWrapper(thread));
dispatcher.notifyObservers(event);
event = new net.sf.rej.gui.event.Event(EventType.DEBUG_STACK_FRAME_CHANGE_REQUESTED);
try {
event.setStackFrame(new StackFrameWrapper(thread.frame(0)));
} catch (IncompatibleThreadStateException e) {
e.printStackTrace();
}
dispatcher.notifyObservers(event);
}