protected void applyThreadFilter(@Nullable LightOrRealThreadInfo threadInfo) {
      boolean isLightThread = threadInfo != null && threadInfo.getRealThread() == null;
      if (isLightThread || getSuspendContext().getSuspendPolicy() == EventRequest.SUSPEND_ALL) {
        // there could be explicit resume as a result of call to voteSuspend()
        // e.g. when breakpoint was considered invalid, in that case the filter will be applied _after_
        // resuming and all breakpoints in other threads will be ignored.
        // As resume() implicitly cleares the filter, the filter must be always applied _before_ any resume() action happens
        final BreakpointManager breakpointManager = DebuggerManagerEx.getInstanceEx(getProject()).getBreakpointManager();
        breakpointManager.applyThreadFilter(DebugProcessImpl.this, threadInfo);
      }
    }
protected void applyThreadFilter(@Nullable LightOrRealThreadInfo threadInfo)