} else if (de instanceof IJavaThread) { if (e.getKind() == DebugEvent.SUSPEND) { IJavaThread jt = (IJavaThread)de; try { IJavaStackFrame f= (IJavaStackFrame)jt.getTopStackFrame(); if (f != null) { if (e.getDetail() == DebugEvent.STEP_END && f.getLineNumber() == 51 && f.getDeclaringTypeName().equals("org.eclipse.jdt.internal.ui.snippeteditor.ScrapbookMain")) { fThread = jt; } else if (e.getDetail() == DebugEvent.BREAKPOINT && jt.getBreakpoint().equals(ScrapbookLauncher.getDefault().getMagicBreakpoint(jt.getDebugTarget()))) { jt.stepOver(); } } } catch (DebugException ex) {  } }
	public void handleDebugEvent(DebugEvent e) {		Object source = e.getSource();		if (source instanceof IDebugElement) {			IDebugElement de = (IDebugElement)source;			if (de.getElementType() == IDebugElement.DEBUG_TARGET) {				if (de.getDebugTarget().equals(fVM)) {					if (e.getKind() == DebugEvent.TERMINATE) {						Runnable r = new Runnable() {							public void run() {								vmTerminated();							}						};						getShell().getDisplay().asyncExec(r);					}				}			}		}	}