code: public GitCloneResponseImpl cloneProcess(File workingDirectoryPath, GitCloneOptions options,
        URL repository, File directory) throws IOException, JavaGitException {
      List<String> commandLine = buildCommand(options, repository, directory);
      GitCloneParser parser = new GitCloneParser();
  
      return (GitCloneResponseImpl) ProcessUtilities.runCommand(workingDirectoryPath, commandLine, parser);
    }
docs: Process the git-clone command, to make a clone of the git repository.
  
  @param workingDirectoryPath
  A <code>File</code> instance for the path to the working directory. 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 for the git-clone command. If the value is null, a
  <code>NullPointerException</code> will be thrown.
  @param repository
  A <code>URL</code> instance for the repository to be cloned. If null is passed, a
  <code>NullPointerException</code> will be thrown.
  @param directory
  A <code>File</code> instance for the directory where the repository is to be cloned.
  If null is passed, a <code>NullPointerException</code> will be thrown.
  @return The result of the git clone.
  @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>a command is not found on the PATH</li>
  </ul>
  @throws JavaGitException
  Thrown when there is an error executing git-clone.