public static void runSmartTestProcess(
     @NotNull final VirtualFile taskDir,
     @NotNull final StudyTestRunner testRunner,
     final String taskFileName,
     @NotNull final TaskFile taskFile,
     @NotNull final Project project) {
   final TaskFile answerTaskFile = new TaskFile();
   answerTaskFile.name = taskFileName;
   final VirtualFile virtualFile = taskDir.findChild(taskFileName);
   if (virtualFile == null) {
     return;
   }
   final VirtualFile answerFile =
       getCopyWithAnswers(taskDir, virtualFile, taskFile, answerTaskFile);
   for (final AnswerPlaceholder answerPlaceholder : answerTaskFile.getAnswerPlaceholders()) {
     final Document document = FileDocumentManager.getInstance().getDocument(virtualFile);
     if (document == null) {
       continue;
     }
     StudySmartChecker.smartCheck(
         answerPlaceholder,
         project,
         answerFile,
         answerTaskFile,
         taskFile,
         testRunner,
         virtualFile,
         document);
   }
   StudyUtils.deleteFile(answerFile);
 }