private void ConfigureEvents(IProxyConfigurator proxyConfigurator)
        {
            foreach (var es in configuration.Value.EventToConfigurationMap)
            {
                if (!es.Value.Decorators.IsEmpty())
                {
                    proxyConfigurator.SetEventDecorators(es.Key, es.Value.Decorators);
                }

                if (es.Value.Proxy != null)
                {
                    proxyConfigurator.SetEventProxy(es.Key, es.Value.Proxy);
                }
            }
        }
        private void ConfigureMethods(IProxyConfigurator proxyConfigurator)
        {
            foreach (var mc in configuration.Value.MethodToConfigurationMap)
            {
                if (!mc.Value.Decorators.IsEmpty())
                {
                    proxyConfigurator.SetMethodDecorators(mc.Key, mc.Value.Decorators);
                }

                if (mc.Value.Proxy != null)
                {
                    proxyConfigurator.SetMethodProxy(mc.Key, mc.Value.Proxy);
                }
            }
        }
        private void ConfigurePropertiesSetter(IProxyConfigurator proxyConfigurator)
        {
            foreach (var psc in configuration.Value.PropertyToSetterConfigurationMap)
            {
                if (!psc.Value.Decorators.IsEmpty())
                {
                    proxyConfigurator.SetPropertySetterDecorators(psc.Key, psc.Value.Decorators);
                }

                if (psc.Value.Proxy != null)
                {
                    proxyConfigurator.SetPropertySetterProxy(psc.Key, psc.Value.Proxy);
                }
            }
        }