code: public static PullResult pull(Git git, String remoteName, String remoteUrl, String branch,
                                    MergeStrategy mergeStrategy, GitAuthenticationConfigurator authConfigurator)
              throws GitAPIException, URISyntaxException {
          addRemote(git, remoteName, remoteUrl);
  
          PullCommand command = git.pull();
          command.setRemote(remoteName);
          command.setRemoteBranchName(branch);
  
          if (mergeStrategy != null) {
              command.setStrategy(mergeStrategy);
          }
  
          if (authConfigurator != null) {
              authConfigurator.configureAuthentication(command);
          }
  
          return command.call();
      }
docs: Execute a Git pull.
  
  @param git              the Git instance used to handle the repository
  @param remoteName       the name of the remote where to pull from
  @param remoteUrl        the URL of the remote (remote will be set to the URL)
  @param branch           the branch to pull
  @param mergeStrategy    the merge strategy to use
  @param authConfigurator the {@link GitAuthenticationConfigurator} class used to configure the authentication
  with the remote repository
  @return the result of the pull
  @throws GitAPIException if a Git related error occurs
  @throws URISyntaxException if the remote URL is invalid