public static void Initialize (NameSpace mapiNameSpace)
    {
      s_mapiNameSpace = mapiNameSpace;
      const string testerServerEmailAddress = "*****@*****.**";

      if (mapiNameSpace == null)
        throw new ArgumentNullException ("mapiNameSpace");

      var globalTimeZoneCache = new GlobalTimeZoneCache();

      var eventMappingConfiguration = new EventMappingConfiguration();
      s_entityMapper = new EventEntityMapper (
          mapiNameSpace.CurrentUser.Address,
          new Uri ("mailto:" + testerServerEmailAddress),
          mapiNameSpace.Application.TimeZones.CurrentTimeZone.ID,
          mapiNameSpace.Application.Version,
          new TimeZoneCache (null, false, globalTimeZoneCache), 
          eventMappingConfiguration,
          null);

      s_outlookFolderEntryId = ConfigurationManager.AppSettings[string.Format ("{0}.OutlookFolderEntryId", Environment.MachineName)];
      s_outlookFolderStoreId = ConfigurationManager.AppSettings[string.Format ("{0}.OutlookFolderStoreId", Environment.MachineName)];

      var daslFilterProvider = new DaslFilterProvider (false);

      s_synchronizerFactory = new SynchronizerFactory (
          _ => @"a:\invalid path",
          NullTotalProgressFactory.Instance,
          s_mapiNameSpace,
          daslFilterProvider,
          new OutlookAccountPasswordProvider (mapiNameSpace.CurrentProfileName, mapiNameSpace.Application.Version),
          globalTimeZoneCache);

      s_outlookEventRepository = new OutlookEventRepository (
          s_mapiNameSpace,
          s_outlookFolderEntryId,
          s_outlookFolderStoreId,
          NullDateTimeRangeProvider.Instance,
          eventMappingConfiguration,
          daslFilterProvider);
    }
 public TimeZoneCache(HttpClient httpClient, bool includeHistoricalData, GlobalTimeZoneCache globalTimeZoneCache)
 {
     _httpClient            = httpClient;
     _includeHistoricalData = includeHistoricalData;
     _globalTimeZoneCache   = globalTimeZoneCache;
 }