in src/main/scala/com/twitter/stitch/Stitch.scala [649:690]
def join[A, B, C, D, E, F, G](
a: Stitch[A],
b: Stitch[B],
c: Stitch[C],
d: Stitch[D],
e: Stitch[E],
f: Stitch[F],
g: Stitch[G]
): Stitch[(A, B, C, D, E, F, G)] =
joinMap(a, b, c, d, e, f, g)(tuple7).asInstanceOf[Stitch[(A, B, C, D, E, F, G)]]
def joinMap[A, B, C, D, E, F, G, Z](
a: Stitch[A],
b: Stitch[B],
c: Stitch[C],
d: Stitch[D],
e: Stitch[E],
f: Stitch[F],
g: Stitch[G]
)(
z: (A, B, C, D, E, F, G) => Z
): Stitch[Z] = {
val buf = new ArrayBuffer[Stitch[Any]](7)
buf += a
buf += b
buf += c
buf += d
buf += e
buf += f
buf += g
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]
)
}
}