in src/main/scala/com/twitter/stitch/Stitch.scala [773:807]
def partialJoinMap[A, B, C, D, E, F, G, H, Z](
a: Stitch[A],
b: Stitch[B],
c: Stitch[C],
d: Stitch[D],
e: Stitch[E],
f: Stitch[F],
g: Stitch[G],
h: Stitch[H]
)(
z: (Option[A], Option[B], Option[C], Option[D], Option[E], Option[F], Option[G],
Option[H]) => Option[Z]
): Stitch[Z] = {
val buf = new ArrayBuffer[Stitch[Any]](8)
buf += a
buf += b
buf += c
buf += d
buf += e
buf += f
buf += g
buf += h
PartialCollect(buf) { s =>
z(
s(0).asInstanceOf[Option[A]],
s(1).asInstanceOf[Option[B]],
s(2).asInstanceOf[Option[C]],
s(3).asInstanceOf[Option[D]],
s(4).asInstanceOf[Option[E]],
s(5).asInstanceOf[Option[F]],
s(6).asInstanceOf[Option[G]],
s(7).asInstanceOf[Option[H]]
)
}
}