@Nls
  protected String executeCreate(@NotNull Project project, @NotNull ModCreateFile create) {
    FutureVirtualFile file = create.file();
    VirtualFile parent = actualize(file.getParent());
    try {
      return WriteAction.compute(() -> {
        VirtualFile newFile = parent.createChildData(this, file.getName());
        if (create.content() instanceof ModCreateFile.Text text) {
          PsiFile psiFile = PsiManager.getInstance(project).findFile(newFile);
          if (psiFile == null) return AnalysisBundle.message("modcommand.executor.unable.to.find.the.new.file", file.getName());
          Document document = psiFile.getViewProvider().getDocument();
          document.setText(text.text());
          PsiDocumentManager.getInstance(project).commitDocument(document);
        }
        else if (create.content() instanceof ModCreateFile.Binary binary) {
          newFile.setBinaryContent(binary.bytes());
        }
        return null;
      });
    }
    catch (IOException e) {
      return e.getLocalizedMessage();
    }
  }
@Nls
  protected String executeCreate(@NotNull Project project, @NotNull ModCreateFile create)