docs: public static final <T> Set<T> intersection(Collection<Set<T>> sets)
      {
          Set<T> set = union(sets);
          for (Set<T> s : sets)
          {
              set.retainAll(s);
          }
          return set;
      }