void (Project project, final @Nullable @Command String commandName, final @Nullable String groupID, final @NotNull Runnable runnable, PsiFile @NotNull ... files) { writeCommandAction(project, files).withName(commandName).withGroupId(groupID).run(() -> runnable.run()); }