docs: private String getRegion(String bucketName) throws InvalidBucketNameException, NoSuchAlgorithmException,
            InsufficientDataException, IOException, InvalidKeyException, NoResponseException, XmlPullParserException,
            ErrorResponseException, InternalException {
      String region;
      if (this.region == null || "".equals(this.region)) {
        updateRegionCache(bucketName);
        region = BucketRegionCache.INSTANCE.region(bucketName);
      } else {
        region = this.region;
      }
      return region;
    }