in algebird-core/src/main/scala/com/twitter/algebird/GeneratedProductAlgebra.scala [3457:3512]
override def sumOption(to: TraversableOnce[X]): Option[X] =
if (to.isEmpty) None
else {
val bufA = fromSumOption[A](1000)
val bufB = fromSumOption[B](1000)
val bufC = fromSumOption[C](1000)
val bufD = fromSumOption[D](1000)
val bufE = fromSumOption[E](1000)
val bufF = fromSumOption[F](1000)
val bufG = fromSumOption[G](1000)
val bufH = fromSumOption[H](1000)
val bufI = fromSumOption[I](1000)
val bufJ = fromSumOption[J](1000)
val bufK = fromSumOption[K](1000)
val bufL = fromSumOption[L](1000)
val bufM = fromSumOption[M](1000)
val bufN = fromSumOption[N](1000)
val bufO = fromSumOption[O](1000)
val bufP = fromSumOption[P](1000)
val bufQ = fromSumOption[Q](1000)
val bufR = fromSumOption[R](1000)
val bufS = fromSumOption[S](1000)
to.foreach { x =>
val tuple = unapply(x).get
bufA.put(tuple._1); bufB.put(tuple._2); bufC.put(tuple._3);
bufD.put(tuple._4); bufE.put(tuple._5); bufF.put(tuple._6);
bufG.put(tuple._7); bufH.put(tuple._8); bufI.put(tuple._9);
bufJ.put(tuple._10); bufK.put(tuple._11); bufL.put(tuple._12);
bufM.put(tuple._13); bufN.put(tuple._14); bufO.put(tuple._15);
bufP.put(tuple._16); bufQ.put(tuple._17); bufR.put(tuple._18);
bufS.put(tuple._19)
}
Some(
apply(
bufA.flush.get,
bufB.flush.get,
bufC.flush.get,
bufD.flush.get,
bufE.flush.get,
bufF.flush.get,
bufG.flush.get,
bufH.flush.get,
bufI.flush.get,
bufJ.flush.get,
bufK.flush.get,
bufL.flush.get,
bufM.flush.get,
bufN.flush.get,
bufO.flush.get,
bufP.flush.get,
bufQ.flush.get,
bufR.flush.get,
bufS.flush.get
)
)
}