code: private Bucket getBucket(String bucketName)
        throws IOException {
      logger.atFine().log("getBucket(%s)", bucketName);
      checkArgument(!Strings.isNullOrEmpty(bucketName), "bucketName must not be null or empty");
      Storage.Buckets.Get getBucket = configureRequest(gcs.buckets().get(bucketName), bucketName);
      try {
        return getBucket.execute();
      } catch (IOException e) {
        if (errorExtractor.itemNotFound(e)) {
          logger.atFine().withCause(e).log("getBucket(%s): not found", bucketName);
          return null;
        }
        throw new IOException("Error accessing Bucket " + bucketName, e);
      }
    }
docs: Gets the bucket with the given name.
  
  @param bucketName name of the bucket to get
  @return the bucket with the given name or null if bucket not found
  @throws IOException if the bucket exists but cannot be accessed