void (@NotNull XBreakpoint<?> slave, @NotNull XBreakpoint<?> master, boolean leaveEnabled) { XDependentBreakpointInfo info = mySlave2Info.get(slave); if (info == null) { addDependency((XBreakpointBase<?,?,?>)master, (XBreakpointBase<?,?,?>)slave, leaveEnabled); } else if (info.myMasterBreakpoint == master) { info.myLeaveEnabled = leaveEnabled; } else { myMaster2Info.remove(info.myMasterBreakpoint, info); info.myMasterBreakpoint = (XBreakpointBase)master; info.myLeaveEnabled = leaveEnabled; myMaster2Info.putValue((XBreakpointBase)master, info); } myEventPublisher.dependencySet(slave, master); }