in tormenta-core/src/main/scala/com/twitter/tormenta/spout/SchemeSpout.scala [27:40]
def getSpout[R](transformer: Scheme[T] => Scheme[R], fn: => TopologyContext => Unit): IRichSpout
override def poll = List()
override def getSpout = getSpout(identity(_), callOnOpen)
override def flatMap[U](fn: T => TraversableOnce[U]): BaseSpout[U] =
new FlatMappedSchemeSpout(this)(fn)
override def openHook(f: => TopologyContext => Unit) =
new SchemeSpout[T] {
def getSpout[R](transformer: Scheme[T] => Scheme[R], fn: => TopologyContext => Unit) = self.getSpout(transformer, fn)
override def callOnOpen: (TopologyContext) => Unit = { c => f(c); self.callOnOpen(c) }
}