code: public static final <T> Set<T> union(Collection<Set<T>> sets)
      {
          Set<T> set = new HashSet<>();
          for (Set<T> s : sets)
          {
              set.addAll(s);
          }
          return set;
      }
docs: Union of the sets A and B, denoted A ∪ B, is the set of all objects that
  are a member of A, or B, or both
  @param <T>
  @param sets
  @return