boolean (@NotNull Group group, @NotNull Keymap keymap) { if (!keymap.canModify()) return false; ArrayList<Object> children = group.getChildren(); for (Object child : children) { if (child instanceof Group) { if (areGroupShortcutsCustomized((Group)child, keymap)) { return true; } } else if (child instanceof String) { String actionId = (String)child; if (isShortcutCustomized(actionId, keymap)) { return true; } } else if (child instanceof QuickList) { String actionId = ((QuickList)child).getActionId(); if (isShortcutCustomized(actionId, keymap)) { return true; } } } return group.getId() != null && isShortcutCustomized(group.getId(), keymap); }