protected <T extends GitRebaseEntry> void processModel(
    @NotNull GitRebaseTodoModel<T> rebaseTodoModel,
    @NotNull Function<T, String> fullMessageGetter
  ) {
    List<RewordedCommitMessageMapping> messages = new ArrayList<>();
    for (GitRebaseTodoModel.Element<T> element : rebaseTodoModel.getElements()) {
      if (element.getType() instanceof GitRebaseTodoModel.Type.NonUnite.KeepCommit.Reword type) {
        messages.add(RewordedCommitMessageMapping.fromMapping(
          fullMessageGetter.apply(element.getEntry()),
          type.getNewMessage()
        ));
      }
    }
    myRewordedCommitMessageProvider.save(myProject, myRoot, messages);
  }
protected <T extends GitRebaseEntry> void processModel(
    @NotNull GitRebaseTodoModel<T> rebaseTodoModel,
    @NotNull Function<T, String> fullMessageGetter
  )