Collects the data of this stream in a Set.
The returned set is the same type as returned by new Set<T>().
If another type of set is needed, either use forEach to add each
element to the set, or use
toList().then((list) => new SomeOtherSet.from(list))
to create the set.
Source
Future<Set<T>> toSet() {
  Set<T> result = new Set<T>();
  _Future<Set<T>> future = new _Future<Set<T>>();
  this.listen(
      (T data) {
        result.add(data);
      },
      onError: future._completeError,
      onDone: () {
        future._complete(result);
      },
      cancelOnError: true);
  return future;
}