Existing ReaderImpl constructor can throw an exception. This prohibits the creation of the reader instance and subsequent access to the schema information.
For instance, an exception can be thrown if the selected column ids do not agree with the number of schema columns. The downstream application might still want the schema information for logging purposes.
The scope of this Jira is to move the code to read rows into a new RowReader class.