@Override
  public void start() {
    if (reuseWritableArray) {
      // reset the array to null values
      for (int i = 0; i < writables.length; i += 1) {
        writables[i] = null;
      }
    } else {
      this.writables = new Writable[totalFieldCount];
    }
    for (Repeated repeated : repeatedConverters) {
      repeated.parentStart();
    }
  }
A MapWritableGroupConverter, real converter between hive and parquet types recursively for complex types.
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/convert/HiveStructConverter.java