private void destroy() { DebuggerManager.getDebuggerManager() .removeDebuggerListener(DebuggerManager.PROP_WATCHES, this); JPDADebugger d = debugger.get(); if (d != null) d.removePropertyChangeListener(this); Watch[] ws = DebuggerManager.getDebuggerManager().getWatches(); int i, k = ws.length; for (i = 0; i < k; i++) ws[i].removePropertyChangeListener(this); if (task != null) { // cancel old task task.cancel(); if (verbose) System.out.println("WM cancel old task " + task); task = null; } }