code: public GitAddResponse add(File repositoryPath, GitAddOptions options, List<File> paths)
        throws IOException, JavaGitException {
      CheckUtilities.checkFileValidity(repositoryPath.getAbsoluteFile());
      IClient client = ClientManager.getInstance().getPreferredClient();
      IGitAdd gitAdd = client.getGitAddInstance();
      return gitAdd.add(repositoryPath, options, paths);
    }
docs: This command adds the current content of new or modified files to the index, thus staging that
  content for inclusion in the next commit.
  
  @param repositoryPath
  The path to the repository to commit against. A non-zero length argument is required
  for this parameter, otherwise a <code>NullPointerException</code> or
  <code>IllegalArgumentException</code> will be thrown.
  @param options
  GitAddOptions that are passed to the &lt;git-add&gt; command.
  @param paths
  List of file paths that will be added to the index.
  @return GitAddResponse Response generated by the add command.
  @exception IOException
  There are many reasons for which an <code>IOException</code> may be thrown if -
  <ul>
  <li>repositoryPath is not valid</li>
  <li>filenames assigned do not exist</li>
  <li>files or repository path does not have access rights</li>
  </ul>
  @exception JavaGitException
  Exception thrown
  <ul>
  <li>if the repositoryPath is null.</li>
  <li>if the &lt;git-add&gt; command generates error.</li>
  </ul>