InspectionConfigTreeNode (String @NotNull [] path, int idx, @NotNull InspectionConfigTreeNode node) { if (path.length == idx) { return node; } final String currentKey = path[idx]; for (int i = 0; i < node.getChildCount(); i++) { final InspectionConfigTreeNode currentNode = (InspectionConfigTreeNode)node.getChildAt(i); if (currentNode instanceof InspectionConfigTreeNode.Group && ((InspectionConfigTreeNode.Group)currentNode).getGroupName().equals(currentKey)) { return findGroupNodeByPath(path, ++idx, currentNode); } } return null; }