void (@NotNull final XCompositeNode node) { if (node.isObsolete()) return; myDebugProcess.setCurrentRootNode(node); ApplicationManager.getApplication().executeOnPooledThread(() -> { try { boolean cached = myDebugProcess.isFrameCached(this); XValueChildrenList values = myDebugProcess.loadFrame(this); if (!node.isObsolete()) { addChildren(node, values); } if (values != null && !cached) { PyDebugValue.getAsyncValues(this, myDebugProcess, values); } } catch (PyDebuggerException e) { if (!node.isObsolete()) { node.setErrorMessage(PyBundle.message("debugger.stack.frame.unable.to.display.frame.variables")); } LOG.warn(e); } }); }