public Container build() {
    if (id == null) {
      throw new IllegalStateException("Container id or container name is not present");
    }
    return new Container(id, name, status, description, encrypted, previouslyEncrypted || encrypted, cacheable,
        mediaScanDisabled, paranoidDurabilityEnabled, replicationPolicy, ttlRequired, workflowMigrationEnabled, securePathRequired,
        contentTypeWhitelistForFilenamesOnDownload, backupEnabled, overrideAccountAcl, namedBlobMode,
        parentAccountId == null ? UNKNOWN_CONTAINER_PARENT_ACCOUNT_ID : parentAccountId.shortValue(), deleteTriggerTime,
        lastModifiedTime, snapshotVersion, accessControlAllowOrigin, cacheTtlInSecond,
        userMetadataKeysToNotPrefixInResponse);
  }
Builds a {@link Container} object. {@code id}, {@code name}, {@code status}, {@code isPrivate}, and
{@code parentAccountId} are required before build.
@return A {@link Container} object.
@throws IllegalStateException If any required fields is not set.
ambry-api/src/main/java/com/github/ambry/account/ContainerBuilder.java