in src/main/java/com/intellij/rt/debugger/agent/CaptureStorage.java [141:162]
public static void insertExit(final Object key) {
if (!ENABLED) {
return;
}
withoutThrowableCapture(new Runnable() {
@Override
public void run() {
try {
Deque<CapturedStack> currentStacks = getStacksForCurrentThread();
// frameworks may modify thread locals to avoid memory leaks, so do not fail if currentStacks is empty
// check https://youtrack.jetbrains.com/issue/IDEA-357455 for more details
currentStacks.pollLast();
if (DEBUG) {
System.out.println(
"insert " + getCallerDescriptorForLogging() + " <- " + getKeyText(key) + ", stack removed (" + currentStacks.size() + ")");
}
} catch (Exception e) {
handleException(e);
}
}
});
}