private static void Initialize()
        {
            providerCollection = new PayPalPDTHandlerProviderCollection();

            try
            {
                PayPalPDTHandlerProviderConfig config
                    = PayPalPDTHandlerProviderConfig.GetConfig();

                if (config != null)
                {

                    if (
                        (config.Providers == null)
                        || (config.Providers.Count < 1)
                        )
                    {
                        throw new ProviderException("No PayPalPDTHandlerProviderCollection found.");
                    }

                    ProvidersHelper.InstantiateProviders(
                        config.Providers,
                        providerCollection,
                        typeof(PayPalPDTHandlerProvider));

                }
                else
                {
                    // config was null, not a good thing
                    log.Error("PayPalPDTHandlerProviderConfig could not be loaded so empty provider collection was returned");

                }
            }
            catch (NullReferenceException ex)
            {
                log.Error(ex);
            }
            catch (TypeInitializationException ex)
            {
                log.Error(ex);
            }
            catch (ProviderException ex)
            {
                log.Error(ex);
            }

            providerCollection.SetReadOnly();
        }
        private static void Initialize()
        {
            providerCollection = new PayPalPDTHandlerProviderCollection();

            try
            {
                PayPalPDTHandlerProviderConfig config
                    = PayPalPDTHandlerProviderConfig.GetConfig();

                if (config != null)
                {
                    if (
                        (config.Providers == null) ||
                        (config.Providers.Count < 1)
                        )
                    {
                        throw new ProviderException("No PayPalPDTHandlerProviderCollection found.");
                    }

                    ProvidersHelper.InstantiateProviders(
                        config.Providers,
                        providerCollection,
                        typeof(PayPalPDTHandlerProvider));
                }
                else
                {
                    // config was null, not a good thing
                    log.Error("PayPalPDTHandlerProviderConfig could not be loaded so empty provider collection was returned");
                }
            }
            catch (NullReferenceException ex)
            {
                log.Error(ex);
            }
            catch (TypeInitializationException ex)
            {
                log.Error(ex);
            }
            catch (ProviderException ex)
            {
                log.Error(ex);
            }

            providerCollection.SetReadOnly();
        }