override def buildSchema()

in parquet/src/main/scala/magnolify/parquet/ParquetField.scala [311:333]


      override def buildSchema(cm: CaseMapper, properties: MagnolifyParquetProperties): Type =
        Schema.setRepetition(t.schema(cm, properties), Repetition.OPTIONAL)
      override protected def isEmpty(v: Option[T]): Boolean = v.forall(t.isEmpty)

      override def fieldDocs(cm: CaseMapper): Map[String, String] = t.fieldDocs(cm)

      override def typeDoc: Option[String] = None

      override def write(c: RecordConsumer, v: Option[T])(
        cm: CaseMapper,
        properties: MagnolifyParquetProperties
      ): Unit =
        v.foreach(t.writeGroup(c, _)(cm, properties))

      override def newConverter(writerSchema: Type): TypeConverter[Option[T]] = {
        val buffered = t
          .newConverter(writerSchema)
          .asInstanceOf[TypeConverter.Buffered[T]]
          .withRepetition(Repetition.OPTIONAL)
        new TypeConverter.Delegate[T, Option[T]](buffered) {
          override def get: Option[T] = inner.get(_.headOption)
        }
      }