code: public static Map<String,List<Long>> mergeHints(
        Collection<ResourceCollection> resources, Collection<String> suiteNames) {
      final Map<String,List<Long>> hints = new HashMap<>();
      for (ResourceCollection rc : resources) {
        Iterator<Resource> i = rc.iterator();
        while (i.hasNext()) {
          InputStream is = null;
          Resource r = i.next();
          try {
            is = r.getInputStream();
            mergeHints(is, hints);
  
            // Early prune the hints to those we have on the list.
            if (suiteNames != null) {
              hints.keySet().retainAll(suiteNames);
            }
          } catch (IOException e) {
            throw new BuildException("Could not read hints from resource: "
                + r.getDescription(), e);
          } finally {
            try {
              if (is != null) is.close();
            } catch (IOException e) {
              throw new BuildException("Could not close hints file: " + r.getDescription());
            }
          }
        }
      }
      return hints;
    }
docs: Read hints from all resources in a collection, retaining
  <code>suiteNames</code>. If <code>suiteNames</code> is null,
  everything is retained.