void () { myModified = myInitialToolDescriptors.values().stream().flatMap(ToolDescriptors::getDescriptors).anyMatch(descriptor -> { Element oldConfig = descriptor.getConfig(); if (oldConfig == null) return false; ScopeToolState state = descriptor.getState(); Element newConfig = Descriptor.createConfigElement(state.getTool()); if (!JDOMUtil.areElementsEqual(oldConfig, newConfig)) { myAlarm.cancelAllRequests(); myAlarm.addRequest(() -> { myTreeTable.repaint(); if (myOptionsSeparator != null) myOptionsSeparator.setupResetLinkVisibility(); }, 300); return true; } return false; }); }