Why is this fileSchema and not requestedProjection? Put another way, retValue is not being used.

If you changed this, then when you set the projection you wouldn't need to set the requested schema when it's the same as the writer's schema.