in src/main/scala/com/twitter/stitch/Stitch.scala [1110:1172]
def join[A, B, C, D, E, F, G, H, I, J, K, L](
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]
): Stitch[(A, B, C, D, E, F, G, H, I, J, K, L)] =
joinMap(a, b, c, d, e, f, g, h, i, j, k, l)(tuple12)
.asInstanceOf[Stitch[(A, B, C, D, E, F, G, H, I, J, K, L)]]
def joinMap[A, B, C, D, E, F, G, H, I, J, K, L, 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]
)(
z: (A, B, C, D, E, F, G, H, I, J, K, L) => Z
): Stitch[Z] = {
val buf = new ArrayBuffer[Stitch[Any]](12)
buf += a
buf += b
buf += c
buf += d
buf += e
buf += f
buf += g
buf += h
buf += i
buf += j
buf += k
buf += l
collectNoCopy(buf).map { ss =>
z(
ss(0).asInstanceOf[A],
ss(1).asInstanceOf[B],
ss(2).asInstanceOf[C],
ss(3).asInstanceOf[D],
ss(4).asInstanceOf[E],
ss(5).asInstanceOf[F],
ss(6).asInstanceOf[G],
ss(7).asInstanceOf[H],
ss(8).asInstanceOf[I],
ss(9).asInstanceOf[J],
ss(10).asInstanceOf[K],
ss(11).asInstanceOf[L]
)
}
}