Object:
  superclasses:
  interfaces:
  classMembers:
    Object._haveSameRuntimeType
    Object.toString
    Object.runtimeType
    Object._toString
    Object._simpleInstanceOf
    Object._hashCodeRnd
    Object._instanceOf
    Object.noSuchMethod
    Object._objectHashCode
    Object._identityHashCode
    Object.hashCode
    Object._simpleInstanceOfFalse
    Object._simpleInstanceOfTrue
    Object.==
  classSetters:

Stream:
  superclasses:
    Object
  interfaces:
  classMembers:
    Stream.asyncExpand
    Stream.listen
    Stream.map
    Stream.pipe
    Stream.cast
    Stream.skip
    Stream.join
    Stream.asyncMap
    Stream.toSet
    Stream.asBroadcastStream
    Object.toString
    Stream.handleError
    Stream.forEach
    Stream.length
    Stream.firstWhere
    Object.runtimeType
    Stream.isBroadcast
    Stream.timeout
    Object._simpleInstanceOf
    Stream.isEmpty
    Stream.take
    Stream.any
    Stream.transform
    Stream.where
    Object._instanceOf
    Stream.skipWhile
    Stream.castFrom
    Stream.toList
    Object.noSuchMethod
    Stream.fold
    Stream.drain
    Stream.elementAt
    Stream.distinct
    Stream.expand
    Stream.takeWhile
    Stream.first
    Object._identityHashCode
    Object.hashCode
    Stream.reduce
    Stream.lastWhere
    Stream.last
    Object._simpleInstanceOfFalse
    Stream.single
    Stream.every
    Stream.contains
    Object._simpleInstanceOfTrue
    Object.==
    Stream.singleWhere
  classSetters:

MyStream:
  superclasses:
    Object
      -> Stream<T>
  interfaces:
  classMembers:
    Stream.asyncExpand
    Stream.listen
    Stream.map
    Stream.pipe
    Stream.cast
    Stream.skip
    Stream.join
    Stream.asyncMap
    Stream.toSet
    Stream.asBroadcastStream
    Object.toString
    Stream.handleError
    Stream.forEach
    Stream.length
    Stream.firstWhere
    Object.runtimeType
    Stream.isBroadcast
    Stream.timeout
    Object._simpleInstanceOf
    Stream.isEmpty
    Stream.take
    Stream.any
    Stream.transform
    Stream.where
    Object._instanceOf
    Stream.skipWhile
    Stream.toList
    Object.noSuchMethod
    Stream.fold
    Stream.drain
    Stream.elementAt
    Stream.distinct
    Stream.expand
    Stream.takeWhile
    Stream.first
    Object._identityHashCode
    Object.hashCode
    Stream.reduce
    Stream.lastWhere
    Stream.last
    Object._simpleInstanceOfFalse
    Stream.single
    Stream.every
    Stream.contains
    Object._simpleInstanceOfTrue
    Object.==
    Stream.singleWhere
  classSetters:
