Source:
<code>private void getProcessDMContexts(Object[] elements, final DataRequestMonitor<IProcessDMContext[]> rm) { GdbLaunch launch = null; final Set<IProcessDMContext> procDmcs = new HashSet<IProcessDMContext>(); for (Object obj : elements) { <START> if (obj instanceof GdbLaunch) { <END> launch = (GdbLaunch)obj; break; } if (obj instanceof IDMVMContext) { IProcessDMContext procDmc = DMContexts.getAncestorOfType(((IDMVMContext)obj).getDMContext(), IProcessDMContext.class); if (procDmc != null) { procDmcs.add(procDmc); } } } if (launch == null) { rm.setData(procDmcs.toArray(new IProcessDMContext[procDmcs.size()])); rm.done(); } else { try { fExecutor.execute(new DsfRunnable() { @Override public void run() { ICommandControlService commandControl = fTracker.getService(ICommandControlService.class); final IProcesses procService = fTracker.getService(IProcesses.class); if (commandControl != null && procService != null) { procService.getProcessesBeingDebugged( commandControl.getContext(), new ImmediateDataRequestMonitor<IDMContext[]>() { @Override protected void handleCompleted() { if (!isSuccess()) { rm.setStatus(getStatus()); } else { for (IDMContext ctx : getData()) { IProcessDMContext procDmc = DMContexts.getAncestorOfType(ctx, IProcessDMContext.class); if (procDmc != null) { procDmcs.add(procDmc); } } rm.setData(procDmcs.toArray(new IProcessDMContext[procDmcs.size()])); } rm.done(); }; }); } else { rm.setStatus(new Status(IStatus.ERROR, GdbUIPlugin.PLUGIN_ID, "Service is not available.")); rm.done(); } } }); } catch (RejectedExecutionException e) { rm.setStatus(new Status(IStatus.ERROR, GdbUIPlugin.PLUGIN_ID, e.getLocalizedMessage())); rm.done(); } } }</code><technical_language>leave this check here. I this happen anymore check for GdbLaunch if find call this method</technical_language>

Target:
private void getProcessDMContexts(Object[] elements, final DataRequestMonitor<IProcessDMContext[]> rm) { final Set<IProcessDMContext> procDmcs = new HashSet<IProcessDMContext>(); for (Object obj : elements) { if (obj instanceof IDMVMContext) { IProcessDMContext procDmc = DMContexts.getAncestorOfType(((IDMVMContext)obj).getDMContext(), IProcessDMContext.class); if (procDmc != null) { procDmcs.add(procDmc); } } } try { fExecutor.execute(new DsfRunnable() { @Override public void run() { ICommandControlService commandControl = fTracker.getService(ICommandControlService.class); final IProcesses procService = fTracker.getService(IProcesses.class); if (commandControl != null && procService != null) { procService.getProcessesBeingDebugged( commandControl.getContext(), new ImmediateDataRequestMonitor<IDMContext[]>() { @Override protected void handleCompleted() { if (!isSuccess()) { rm.setStatus(getStatus()); } else { for (IDMContext ctx : getData()) { IProcessDMContext procDmc = DMContexts.getAncestorOfType(ctx, IProcessDMContext.class); if (procDmc != null) { procDmcs.add(procDmc); } } rm.setData(procDmcs.toArray(new IProcessDMContext[procDmcs.size()])); } rm.done(); }; }); } else { rm.setStatus(new Status(IStatus.ERROR, GdbUIPlugin.PLUGIN_ID, "Service is not available.")); rm.done(); } } }); } catch (RejectedExecutionException e) { rm.setStatus(new Status(IStatus.ERROR, GdbUIPlugin.PLUGIN_ID, e.getLocalizedMessage())); rm.done(); } }