@Override
 public ListResult<Blob> nextPage() {
   ListResult<BlobInfo> nextPageInfoList = infoList.nextPage();
   if (nextPageInfoList == null) {
     return null;
   }
   return new BlobListResult(storage, nextPageInfoList);
 }
 @Override
 public Iterator<Blob> iterator() {
   return Iterators.transform(
       infoList.iterator(),
       new Function<BlobInfo, Blob>() {
         @Override
         public Blob apply(BlobInfo info) {
           return new Blob(storage, info);
         }
       });
 }
 @Override
 public String nextPageCursor() {
   return infoList.nextPageCursor();
 }