@@ -41,11 +41,8 @@ public class ComplexCopier {
4141 * @param input field to read from
4242 * @param output field to write to
4343 */
44- public static void copy (FieldReader input , FieldWriter output ) {
45- writeValue (input , output );
46- }
44+ public static void copy (FieldReader reader , FieldWriter writer ) {
4745
48- private static void writeValue (FieldReader reader , FieldWriter writer ) {
4946 final MinorType mt = reader .getMinorType ();
5047
5148 switch (mt ) {
@@ -61,7 +58,7 @@ private static void writeValue(FieldReader reader, FieldWriter writer) {
6158 FieldReader childReader = reader .reader ();
6259 FieldWriter childWriter = getListWriterForReader (childReader , writer );
6360 if (childReader .isSet ()) {
64- writeValue (childReader , childWriter );
61+ copy (childReader , childWriter );
6562 } else {
6663 childWriter .writeNull ();
6764 }
@@ -79,8 +76,8 @@ private static void writeValue(FieldReader reader, FieldWriter writer) {
7976 FieldReader structReader = reader .reader ();
8077 if (structReader .isSet ()) {
8178 writer .startEntry ();
82- writeValue (mapReader .key (), getMapWriterForReader (mapReader .key (), writer .key ()));
83- writeValue (mapReader .value (), getMapWriterForReader (mapReader .value (), writer .value ()));
79+ copy (mapReader .key (), getMapWriterForReader (mapReader .key (), writer .key ()));
80+ copy (mapReader .value (), getMapWriterForReader (mapReader .value (), writer .value ()));
8481 writer .endEntry ();
8582 } else {
8683 writer .writeNull ();
@@ -99,7 +96,7 @@ private static void writeValue(FieldReader reader, FieldWriter writer) {
9996 if (childReader .getMinorType () != Types .MinorType .NULL ) {
10097 FieldWriter childWriter = getStructWriterForReader (childReader , writer , name );
10198 if (childReader .isSet ()) {
102- writeValue (childReader , childWriter );
99+ copy (childReader , childWriter );
103100 } else {
104101 childWriter .writeNull ();
105102 }
0 commit comments