boolean () { if (getSession().isSuspended()) { for (PyThreadInfo threadInfo : getThreads()) { final List<PyStackFrameInfo> frames = threadInfo.getFrames(); if ((threadInfo.getState() == PyThreadInfo.State.SUSPENDED) && (frames != null)) { XBreakpoint<?> breakpoint = null; if (threadInfo.isStopOnBreakpoint()) { final PySourcePosition position = frames.get(0).getPosition(); breakpoint = myRegisteredBreakpoints.get(position); } else if (threadInfo.isExceptionBreak()) { String exceptionName = threadInfo.getMessage(); if (exceptionName != null) { breakpoint = myRegisteredExceptionBreakpoints.get(exceptionName); } } if ((breakpoint != null) && (breakpoint.getType().isSuspendThreadSupported()) && (breakpoint.getSuspendPolicy() == SuspendPolicy.ALL)) { return true; } } } } return false; }