1) why not just parent.add(value) ?
2) this points to the boxing issue.. staying in primitives when possible is a big time and gc saver. Take a look at https://github.com/wesleypeck/parquet-mr/blob/custom_file_metadata_support/parquet-thrift/src/main/java/parquet/thrift/ThriftRecordConverter.java