structFields[i] = createLazyTreeReader(subtype, types, included);
}
}
return new LazyStructTreeReader(columnId, rowIndexStride, structFields, type.getFieldNamesList());
case LIST:
LazyTreeReader elementReader = createLazyTreeReader(type.getSubtypes(0), types, included);
return new LazyListTreeReader(columnId, rowIndexStride, elementReader);
case MAP:
LazyTreeReader keyReader = createLazyTreeReader(type.getSubtypes(0), types, included);
LazyTreeReader valueReader = createLazyTreeReader(type.getSubtypes(1), types, included);
return new LazyMapTreeReader(columnId, rowIndexStride, keyReader, valueReader);
case UNION:
int unionFieldCount = type.getSubtypesCount();
LazyTreeReader[] unionFields = new LazyTreeReader[unionFieldCount];
for(int i=0; i < unionFieldCount; ++i) {