def join[A, B, C, D, E, F, G, H]()

in src/main/scala/com/twitter/stitch/Stitch.scala [726:771]


  def join[A, B, C, D, E, F, G, H](
    a: Stitch[A],
    b: Stitch[B],
    c: Stitch[C],
    d: Stitch[D],
    e: Stitch[E],
    f: Stitch[F],
    g: Stitch[G],
    h: Stitch[H]
  ): Stitch[(A, B, C, D, E, F, G, H)] =
    joinMap(a, b, c, d, e, f, g, h)(tuple8).asInstanceOf[Stitch[(A, B, C, D, E, F, G, H)]]

  def joinMap[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: (A, B, C, D, E, F, G, H) => 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
    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]
      )
    }
  }