code: public List<MapRow> readTable(Class<? extends TableReader> readerClass) throws IOException
     {
        TableReader reader;
  
        try
        {
           reader = readerClass.getConstructor(StreamReader.class).newInstance(this);
        }
        catch (Exception ex)
        {
           throw new RuntimeException(ex);
        }
  
        return readTable(reader);
     }
docs: Reads a nested table. Uses the supplied reader class instance.
  
  @param readerClass reader class instance
  @return table rows