docs: @Nullable
    private File findProjectGitDirectory() {
      if (this.mavenProject == null) {
        return null;
      }
  
      File basedir = mavenProject.getBasedir();
      while (basedir != null) {
        File gitdir = new File(basedir, Constants.DOT_GIT);
        if (gitdir.exists()) {
          if (gitdir.isDirectory()) {
            return gitdir;
          } else if (gitdir.isFile()) {
            return processGitDirFile(gitdir);
          } else {
            return null;
          }
        }
        basedir = basedir.getParentFile();
      }
      return null;
    }