public void Initialize(ExtensionConfigContext context)
        {
            if (context == null)
            {
                throw new ArgumentNullException("context");
            }

            var encryptedBlobAttributeRule = context.AddBindingRule <EncryptedBlobAttribute>();

            encryptedBlobAttributeRule.When("Access", FileAccess.Read).BindToInput <ICloudBlob>(new ICloudBlobAsyncConverter(_keyVaultClient, _keyNameProvider));
            encryptedBlobAttributeRule.When("Access", FileAccess.ReadWrite).BindToInput <ICloudBlob>(new ICloudBlobAsyncConverter(_keyVaultClient, _keyNameProvider));
            encryptedBlobAttributeRule.BindToCollector <EncryptedBlob>(config => new EncryptedBlobAsyncCollector(config, _keyVaultClient, _keyNameProvider));
            encryptedBlobAttributeRule.AddOpenConverter <ICloudBlob, OpenType>(typeof(ICloudBlobToOpenTypeConverter <>), _keyVaultClient, _logger);
            context.AddConverters(_keyVaultClient, _logger);
        }