public override async Task <ContainerResponse> CreateContainerAsync(
            ContainerProperties containerProperties,
            int?throughput = null,
            RequestOptions requestOptions       = null,
            CancellationToken cancellationToken = default)
        {
            ContainerResponse containerResponse = await this.database.CreateContainerAsync(
                containerProperties,
                throughput,
                requestOptions,
                cancellationToken);

            EncryptionContainerResponse encryptionContainerResponse = new EncryptionContainerResponse(
                containerResponse,
                new EncryptionContainer(containerResponse, this.EncryptionCosmosClient));

            return(encryptionContainerResponse);
        }
        public override async Task <ContainerResponse> CreateContainerIfNotExistsAsync(
            string id,
            string partitionKeyPath,
            int?throughput = null,
            RequestOptions requestOptions       = null,
            CancellationToken cancellationToken = default)
        {
            ContainerResponse containerResponse = await this.database.CreateContainerIfNotExistsAsync(
                id,
                partitionKeyPath,
                throughput,
                requestOptions,
                cancellationToken);

            EncryptionContainerResponse encryptionContainerResponse = new EncryptionContainerResponse(
                containerResponse,
                new EncryptionContainer(containerResponse, this.EncryptionCosmosClient));

            return(encryptionContainerResponse);
        }