void (@NotNull SuspendContextCommandImpl action, @NotNull LocatableEvent event) { try { SuspendContextImpl suspendContext = action.getSuspendContext(); if (suspendContext != null) { final MemoryViewDebugProcessData data = suspendContext.getDebugProcess().getUserData(MemoryViewDebugProcessData.KEY); ObjectReference thisRef = getThisObject(suspendContext, event); if (thisRef != null && thisRef.referenceType().name().equals(myClassName) && data != null) { DebuggerUtilsEx.disableCollection(thisRef); myTrackedObjects.add(thisRef); data.getTrackedStacks().addStack(thisRef, StackFrameItem.createFrames(suspendContext, false)); } } } catch (EvaluateException ignored) { } if (myTrackedObjects.size() >= TRACKED_INSTANCES_LIMIT) { disable(); } }