case STRING:
return new LazyStringTreeReader(columnId, rowIndexStride);
case BINARY:
return new LazyBinaryTreeReader(columnId, rowIndexStride);
case TIMESTAMP:
return new LazyTimestampTreeReader(columnId, rowIndexStride);
case STRUCT:
int structFieldCount = type.getFieldNamesCount();
LazyTreeReader[] structFields = new LazyTreeReader[structFieldCount];
for (int i = 0; i < structFieldCount; i++) {
int subtype = type.getSubtypes(i);