List contributions = new ArrayList();
    IndexFile[] indexFiles = getIndexFiles(locale);
    IndexFileParser parser = new IndexFileParser();
    for (int i=0;i<indexFiles.length;++i) {
      try {
        IIndexContribution toc = parser.parse(indexFiles[i]);
        contributions.add(toc);
      }
      catch (Throwable t) {
        String msg = "Error reading help keyword index file /\"" + indexFiles[i].getPluginId() + '/' + indexFiles[i].getFile() + "\" (skipping file)"; //$NON-NLS-1$ //$NON-NLS-2$
        HelpPlugin.logError(msg, t);