code: protected void addIncludes(final String baseDirPath, final File[] includeDirs, final Vector<String> args,
        final Vector<String> relativeArgs, final StringBuffer includePathId, final boolean isSystem) {
      for (final File includeDir : includeDirs) {
        args.addElement(getIncludeDirSwitch(includeDir.getAbsolutePath(), isSystem));
        if (relativeArgs != null) {
          final String relative = CUtil.getRelativePath(baseDirPath, includeDir);
          relativeArgs.addElement(getIncludeDirSwitch(relative, isSystem));
          if (includePathId != null) {
            if (includePathId.length() == 0) {
              includePathId.append("/I");
            } else {
              includePathId.append(" /I");
            }
            includePathId.append(relative);
          }
        }
      }
    }
docs: Adds command-line arguments for include directories.
  
  If relativeArgs is not null will add corresponding relative paths
  include switches to that vector (for use in building a configuration
  identifier that is consistent between machines).
  
  @param baseDirPath
  Base directory path.
  @param includeDirs
  Array of include directory paths
  @param args
  Vector of command line arguments used to execute the task
  @param relativeArgs
  Vector of command line arguments used to build the
  configuration identifier