in scalding-base/src/main/scala/com/twitter/scalding/typed/GeneratedFlattenGroup.scala [1238:1370]
def flattenNestedOptionTuple[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S](
nested: (
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
Option[
(
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[O]
)
],
Option[P]
)
],
Option[Q]
)
],
Option[R]
)
],
Option[S]
)
): (
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[O],
Option[P],
Option[Q],
Option[R],
Option[S]
) = {
val (rest1, s) = nested
val (rest2, r) = rest1.getOrElse(pairOfNones)
val (rest3, q) = rest2.getOrElse(pairOfNones)
val (rest4, p) = rest3.getOrElse(pairOfNones)
val (rest5, o) = rest4.getOrElse(pairOfNones)
val (rest6, n) = rest5.getOrElse(pairOfNones)
val (rest7, m) = rest6.getOrElse(pairOfNones)
val (rest8, l) = rest7.getOrElse(pairOfNones)
val (rest9, k) = rest8.getOrElse(pairOfNones)
val (rest10, j) = rest9.getOrElse(pairOfNones)
val (rest11, i) = rest10.getOrElse(pairOfNones)
val (rest12, h) = rest11.getOrElse(pairOfNones)
val (rest13, g) = rest12.getOrElse(pairOfNones)
val (rest14, f) = rest13.getOrElse(pairOfNones)
val (rest15, e) = rest14.getOrElse(pairOfNones)
val (rest16, d) = rest15.getOrElse(pairOfNones)
val (rest17, c) = rest16.getOrElse(pairOfNones)
val (a, b) = rest17.getOrElse(pairOfNones)
(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
}