@Override
public void breakpointEvent(BreakpointEvent e) {
Iterator<DebugEventListener> listeners = this.session.getEventListeners();
while (listeners.hasNext()) {
DebugEventListener listener = listeners.next();
BreakpointRequest bpr = (BreakpointRequest) e.request();
BreakpointInfo info = new BreakpointInfo();
info.setClassInfo(this.session.getClassInformationProvider().getClassInfo(e.location().declaringType()));
info.setMethodInfo(this.session.getClassInformationProvider().getMethodInfo(e.location().method()));
info.setLineNumber(e.location().lineNumber());
ThreadInfo threadInfo = this.session.getThreadTracker().getByReference(e.thread());
this.session.getThreadTracker().setActiveThread(threadInfo);
info.setThread(threadInfo);
listener.breakpointReached(info);
// TODO
// Is this a "step into" event, or a real breakpoint?
//if (this.expectingStepInto) {
//listener.steppedInto((StateInfo)info);
// this.expectingStepInto = false;