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(); }