@Test
 public void testGetBucketEmptyFields() {
   BucketInfo remoteBucket = storage.get(BUCKET, Storage.BucketGetOption.fields());
   assertEquals(BUCKET, remoteBucket.name());
   assertNull(remoteBucket.createTime());
   assertNull(remoteBucket.selfLink());
 }
 @Test
 public void testGetBucketAllSelectedFields() {
   BucketInfo remoteBucket =
       storage.get(BUCKET, Storage.BucketGetOption.fields(BucketField.values()));
   assertEquals(BUCKET, remoteBucket.name());
   assertNotNull(remoteBucket.createTime());
   assertNotNull(remoteBucket.selfLink());
 }
 @Test(timeout = 5000)
 public void testListBuckets() throws InterruptedException {
   Iterator<BucketInfo> bucketIterator =
       storage
           .list(Storage.BucketListOption.prefix(BUCKET), Storage.BucketListOption.fields())
           .values()
           .iterator();
   while (!bucketIterator.hasNext()) {
     Thread.sleep(500);
     bucketIterator =
         storage
             .list(Storage.BucketListOption.prefix(BUCKET), Storage.BucketListOption.fields())
             .values()
             .iterator();
   }
   while (bucketIterator.hasNext()) {
     BucketInfo remoteBucket = bucketIterator.next();
     assertTrue(remoteBucket.name().startsWith(BUCKET));
     assertNull(remoteBucket.createTime());
     assertNull(remoteBucket.selfLink());
   }
 }