void (AbstractTreeNode node, MultiValuesMap<VirtualFile, AbstractTreeNode<?>> map, AbstractTreeStructure structure, Function<? super AbstractTreeNode<?>, VirtualFile[]> converterFunction) { Object[] kids = structure.getChildElements(node); for (Object kid1 : kids) { ProjectViewNode kid = (ProjectViewNode)kid1; final VirtualFile[] files = getFiles(kid, converterFunction); for (VirtualFile vFile : files) { map.put(vFile, kid); ProjectViewNode eachParent = (ProjectViewNode)kid.getParent(); while (eachParent != null) { map.put(vFile, eachParent); eachParent = (ProjectViewNode)eachParent.getParent(); } } collect(kid, map, structure, converterFunction); } }