ForwardingGoogleCloudStorage implements GoogleCloudStorage { @Override public GoogleCloudStorageOptions getOptions() { logger.atFine().log("%s.getOptions()", delegateClassName); return delegate.getOptions(); } ForwardingGoogleCloudStorage(GoogleCloudStorage delegate); @Override GoogleCloudStorageOptions getOptions(); @Override WritableByteChannel create(StorageResourceId resourceId); @Override WritableByteChannel create(StorageResourceId resourceId, CreateObjectOptions options); @Override void createBucket(String bucketName); @Override void createBucket(String bucketName, CreateBucketOptions options); @Override void createEmptyObject(StorageResourceId resourceId); @Override void createEmptyObject(StorageResourceId resourceId, CreateObjectOptions options); @Override void createEmptyObjects(List<StorageResourceId> resourceIds); @Override void createEmptyObjects(List<StorageResourceId> resourceIds, CreateObjectOptions options); @Override SeekableByteChannel open(StorageResourceId resourceId); @Override SeekableByteChannel open(
      StorageResourceId resourceId, GoogleCloudStorageReadOptions readOptions); @Override void deleteBuckets(List<String> bucketNames); @Override void deleteObjects(List<StorageResourceId> fullObjectNames); @Override void copy(
      String srcBucketName,
      List<String> srcObjectNames,
      String dstBucketName,
      List<String> dstObjectNames); @Override List<String> listBucketNames(); @Override List<GoogleCloudStorageItemInfo> listBucketInfo(); @Override List<String> listObjectNames(String bucketName, String objectNamePrefix); @Override List<String> listObjectNames(
      String bucketName, String objectNamePrefix, ListObjectOptions listOptions); @Override List<GoogleCloudStorageItemInfo> listObjectInfo(String bucketName, String objectNamePrefix); @Override List<GoogleCloudStorageItemInfo> listObjectInfo(
      String bucketName, String objectNamePrefix, ListObjectOptions listOptions); @Override ListPage<GoogleCloudStorageItemInfo> listObjectInfoPage(
      String bucketName, String objectNamePrefix, ListObjectOptions listOptions, String pageToken); @Override GoogleCloudStorageItemInfo getItemInfo(StorageResourceId resourceId); @Override List<GoogleCloudStorageItemInfo> getItemInfos(List<StorageResourceId> resourceIds); @Override List<GoogleCloudStorageItemInfo> updateItems(List<UpdatableItemInfo> itemInfoList); @Override void close(); @Override void compose(
      String bucketName, List<String> sources, String destination, String contentType); @Override GoogleCloudStorageItemInfo composeObjects(
      List<StorageResourceId> sources, StorageResourceId destination, CreateObjectOptions options); GoogleCloudStorage getDelegate();  }
@Test public void testGetOptions() { gcs.getOptions(); verify(mockGcsDelegate).getOptions(); }