void (@NotNull Project project) { Set<String> filePathsToCreate = new HashSet<>(); for (TestDataFile file : myFilePaths) { VirtualFile vFile = file.getVirtualFile(); if (vFile == null || !vFile.isValid()) { filePathsToCreate.add(file.getPath()); } } if (filePathsToCreate.size() > CREATE_MISSING_FILES_WITHOUT_CONFIRMATION_LIMIT) { List<String> displayPaths = new ArrayList<>(); for (String path : filePathsToCreate) { displayPaths.add(TestDataUtil.getHtmlDisplayPathForMissingFile(project, path)); } displayPaths.sort(String.CASE_INSENSITIVE_ORDER); String filePathsDisplayStr = StringUtil.join(displayPaths, "\n"); int code = Messages.showOkCancelDialog( project, DevKitBundle.message("testdata.confirm.create.missing.files.dialog.message", filePathsDisplayStr), DevKitBundle.message("testdata.create.missing.files"), Messages.getQuestionIcon()); if (code != Messages.OK) { return; } } filePathsToCreate.forEach(path -> TestDataUtil.createFileAndNavigate(project, path)); }