in src/main/scala/com/twitter/stitch/Arrow.scala [1943:1968]
override def run[V](t: Try[T], l: Locals, tail: Arrow[(Try[U], Duration), V]): Stitch[V] =
tail(Stitch.time(a.run(t, l)), l)
override def run[T2 <: T, V](
ts: ArrayBuffer[Try[T2]],
ls: ArrayBuffer[Locals],
tail: Arrow[(Try[U], Duration), V]
): Stitch[ArrayBuffer[Try[V]]] =
Stitch.time(a.run(ts, ls)).flatMap {
case (Return(us), d) =>
val uds = ts.asInstanceOf[ArrayBuffer[Try[(Try[U], Duration)]]]
var i = 0
while (i < ts.length) {
uds(i) = Return((us(i), d))
i += 1
}
tail.run(uds, ls)
case (t, _) =>
val uds = ts.asInstanceOf[ArrayBuffer[Try[(Try[U], Duration)]]]
var i = 0
while (i < ts.length) {
uds(i) = t.asInstanceOf[Try[(Try[U], Duration)]]
i += 1
}
tail.run(uds, ls)
}