void (List<String> roots, Map<String, VmData> vms, List<? super String> ignored, boolean recursive) { for (String root : roots) { WslPath wslPath = WslPath.parseWindowsUncPath(root); if (wslPath != null) { VmData vm = vms.computeIfAbsent(wslPath.getDistributionId(), k -> new VmData(k, wslPath.getWslRoot())); (recursive ? vm.recursive : vm.flat).add(wslPath.getLinuxPath()); } else { ignored.add(root); } } }