code: public String createHiddenSpace(String spaceId, int expirationInDays) {
          String bucketName = getHiddenBucketName(spaceId);
          try {
              Bucket bucket = s3Client.createBucket(bucketName);
  
              // Apply lifecycle config to bucket
  
              BucketLifecycleConfiguration.Rule expiresRule = new BucketLifecycleConfiguration.Rule()
                  .withId("ExpirationRule")
                  .withExpirationInDays(expirationInDays)
                  .withStatus(BucketLifecycleConfiguration.ENABLED);
  
              // Add the rules to a new BucketLifecycleConfiguration.
              BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration()
                  .withRules(expiresRule);
  
              s3Client.setBucketLifecycleConfiguration(bucketName, configuration);
  
              return spaceId;
          } catch (AmazonClientException e) {
              String err = "Could not create S3 bucket with name " + bucketName
                           + " due to error: " + e.getMessage();
              throw new StorageException(err, e, RETRY);
          }
      }
docs: Creates a "hidden" space.  This space will not be returned by the StorageProvider.getSpaces() method.
  It can be accessed using the getSpace* methods.  You must know the name of the space in order to
  access it.
  @param spaceId The spaceId
  @param expirationInDays The number of days before content in the space is automatically deleted.
  @return