in protobuf/src/main/scala/magnolify/protobuf/ProtobufType.scala [263:280]
implicit def pfIterable[T, C[_]](implicit
f: ProtobufField[T],
ti: C[T] => Iterable[T],
fc: FactoryCompat[T, C[T]]
): ProtobufField[C[T]] =
new Aux[C[T], ju.List[f.FromT], ju.List[f.ToT]] {
override val default: Option[C[T]] = Some(fc.newBuilder.result())
override def from(v: ju.List[f.FromT])(cm: CaseMapper): C[T] = {
val b = fc.newBuilder
if (v != null) {
b ++= v.asScala.iterator.map(f.from(_)(cm))
}
b.result()
}
override def to(v: C[T], b: Message.Builder)(cm: CaseMapper): ju.List[f.ToT] =
if (v.isEmpty) null else v.iterator.map(f.to(_, b)(cm)).toList.asJava
}