public void Register(Stream stream, IDataSourceDisposer dataSourceDisposer)
 {
     lock (DataSourceDisposersSyncObject)
     {
         DataSourceDisposers[stream] = dataSourceDisposer;
     }
 }
        public void Swap(Stream original, Stream replacement, IDataSourceDisposer replacementDataSourceDisposer)
        {
            lock (DataSourceDisposersSyncObject)
            {
                if (DataSourceDisposers.ContainsKey(original))
                {
                    DataSourceDisposers.Remove(original);
                }

                DataSourceDisposers[replacement] = replacementDataSourceDisposer;
            }
        }