void (@NotNull List<? extends TemplateGroup> newGroups) { myTemplates.clear(); myState.deletedKeys.clear(); for (TemplateImpl template : myDefaultTemplates.values()) { myState.deletedKeys.add(TemplateKey.keyOf(template)); } myMaxKeyLength = 0; List<TemplateGroup> schemes = new SmartList<>(); for (TemplateGroup group : newGroups) { if (!group.isEmpty()) { schemes.add(group); for (TemplateImpl template : group.getElements()) { clearPreviouslyRegistered(template); addTemplateImpl(template); } } } mySchemeManager.setSchemes(schemes); }