in tormenta-core/src/main/scala/com/twitter/tormenta/spout/FlatMappedSchemeSpout.scala [30:38]
override def getSpout = spout.getSpout(_.flatMap(fn), callOnOpen)
override def getSpout[R](transform: Scheme[U] => Scheme[R], f: => TopologyContext => Unit) =
spout.getSpout(scheme => transform(scheme.flatMap(fn)), f)
override def callOnOpen = spout.callOnOpen
override def openHook(f: => TopologyContext => Unit) =
new FlatMappedSchemeSpout[T, U](spout)(fn) {
override def callOnOpen = (c: TopologyContext) => { f(c); self.callOnOpen(c) }
}