/**
  * Reads and parses the blob with given name.
  *
  * <p>If required the checksum of the blob will be verified.
  *
  * @param blobContainer blob container
  * @param blobName blob name
  * @return parsed blob object
  * @throws IOException
  */
 public T readBlob(BlobContainer blobContainer, String blobName) throws IOException {
   try (InputStream inputStream = blobContainer.readBlob(blobName)) {
     BytesStreamOutput out = new BytesStreamOutput();
     Streams.copy(inputStream, out);
     return read(out.bytes());
   }
 }
 @Override
 public InputStream readBlob(String name) throws IOException {
   return delegate.readBlob(name);
 }