code: protected GitCommitResponseImpl commitProcessor(File repository, GitCommitOptions options,
                                                      String message, List<File> paths) throws IOException, JavaGitException {
          CheckUtilities.checkNullArgument(repository, "repository");
          CheckUtilities.checkStringArgument(message, "message");
  
          List<String> commandLine = buildCommand(options, message, paths);
          GitCommitParser parser = new GitCommitParser(repository.getAbsolutePath());
  
          return (GitCommitResponseImpl) ProcessUtilities.runCommand(repository, commandLine, parser);
      }
docs: Processes the commit.
  
  @param repository A <code>File</code> instance for the path to the repository root (the parent
  directory of the .git directory) or a sub-directory in the working tree of the
  repository to commit against. This argument must represent the absolute path to the
  desired directory as returned by the <code>File.getPath()</code> method. If null is
  passed, a <code>NullPointerException</code> will be thrown.
  @param options    The options to commit with.
  @param message    The message to attach to the commit. A non-zero length argument is required for this
  parameter, otherwise a <code>NullPointerException</code> or
  <code>IllegalArgumentException</code> will be thrown.
  @param paths      A list of folders and/or files to commit. The paths specified in this list must all be
  relative to the path specified in the <code>repository</code> parameter as returned
  by <code>File.getPath()</code>.
  @return The results from the commit.
  @throws IOException      There are many reasons for which an <code>IOException</code> may be thrown.
  Examples include:
  <ul>
  <li>a directory doesn't exist</li>
  <li>access to a file is denied</li>
  <li>a command is not found on the PATH</li>
  </ul>
  @throws JavaGitException Thrown when there is an error making the commit.