code: public List<MapRow> readBlocks(Class<? extends BlockReader> readerClass) throws IOException
     {
        BlockReader reader;
  
        try
        {
           reader = readerClass.getConstructor(StreamReader.class).newInstance(this);
        }
        catch (Exception ex)
        {
           throw new RuntimeException(ex);
        }
  
        return reader.read();
     }
docs: Read a list of fixed size blocks using an instance of the supplied reader class.
  
  @param readerClass reader class
  @return list of blocks