in src/main/scala/com/twitter/stitch/Stitch.scala [1418:1470]
def partialJoinMap[A, B, C, D, E, F, G, H, I, J, K, L, M, N, 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],
i: Stitch[I],
j: Stitch[J],
k: Stitch[K],
l: Stitch[L],
m: Stitch[M],
n: Stitch[N]
)(
z: (Option[A], Option[B], Option[C], Option[D], Option[E], Option[F], Option[G], Option[H],
Option[I], Option[J], Option[K], Option[L], Option[M], Option[N]) => Option[Z]
): Stitch[Z] = {
val buf = new ArrayBuffer[Stitch[Any]](14)
buf += a
buf += b
buf += c
buf += d
buf += e
buf += f
buf += g
buf += h
buf += i
buf += j
buf += k
buf += l
buf += m
buf += n
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]],
s(8).asInstanceOf[Option[I]],
s(9).asInstanceOf[Option[J]],
s(10).asInstanceOf[Option[K]],
s(11).asInstanceOf[Option[L]],
s(12).asInstanceOf[Option[M]],
s(13).asInstanceOf[Option[N]]
)
}
}