@Override
  public String[] list(String path) {
    checkState();

    // Set because we don't want duplicates
    HashSet<String> result = new HashSet<>();
    for (ArrayList<WebResourceSet> list : allResources) {
      for (WebResourceSet webResourceSet : list) {
        String[] entries = webResourceSet.list(path);
        for (String entry : entries) {
          result.add(entry);
        }
      }
    }
    return result.toArray(new String[result.size()]);
  }