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) {
unionFields[i] = createLazyTreeReader(type.getSubtypes(i), types, included);