void (@NotNull XDebugSession session, @NotNull DebugProcessImpl debugProcess, @NotNull ReferenceType ref, @NotNull TrackingType type, boolean isTrackerEnabled) { DebuggerManagerThreadImpl.assertIsManagerThread(); if (!debugProcess.getVirtualMachineProxy().canBeModified()) { return; } if (type == TrackingType.CREATION) { final ConstructorInstancesTracker old = myConstructorTrackedClasses.getOrDefault(ref, null); if (old != null) { Disposer.dispose(old); } final ConstructorInstancesTracker tracker = new ConstructorInstancesTracker(ref, session, myInstancesTracker); tracker.setBackgroundMode(!myIsActive); if (isTrackerEnabled) { tracker.enable(); } else { tracker.disable(); } myConstructorTrackedClasses.put(ref, tracker); } }