in scio-core/src/main/scala-2.13/com/spotify/scio/coders/instances/TupleCoders.scala [1786:1826]
override def consistentWithEquals(): Boolean =
ac.consistentWithEquals() &&
bc.consistentWithEquals() &&
cc.consistentWithEquals() &&
dc.consistentWithEquals() &&
ec.consistentWithEquals() &&
fc.consistentWithEquals() &&
gc.consistentWithEquals() &&
hc.consistentWithEquals() &&
ic.consistentWithEquals() &&
jc.consistentWithEquals() &&
kc.consistentWithEquals() &&
lc.consistentWithEquals() &&
mc.consistentWithEquals() &&
nc.consistentWithEquals() &&
oc.consistentWithEquals() &&
pc.consistentWithEquals()
override def structuralValue(value: (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)): AnyRef =
if (consistentWithEquals()) {
value.asInstanceOf[AnyRef]
} else {
(
ac.structuralValue(value._1),
bc.structuralValue(value._2),
cc.structuralValue(value._3),
dc.structuralValue(value._4),
ec.structuralValue(value._5),
fc.structuralValue(value._6),
gc.structuralValue(value._7),
hc.structuralValue(value._8),
ic.structuralValue(value._9),
jc.structuralValue(value._10),
kc.structuralValue(value._11),
lc.structuralValue(value._12),
mc.structuralValue(value._13),
nc.structuralValue(value._14),
oc.structuralValue(value._15),
pc.structuralValue(value._16)
)
}