protected virtual void Dispose(bool disposing)
{
if (this.disposed)
{
return;
}
if (!disposing)
{
return;
}
CorePipeline.Run("releaseFakeDb", new ReleaseDbArgs(this));
this.dataStorageSwitcher.Dispose();
this.databaseSwitcher.Dispose();
while (this.databaseLanguages.Any())
{
this.databaseLanguages.Pop().Dispose();
}
if (Monitor.IsEntered(Lock))
{
Monitor.Exit(Lock);
}
this.disposed = true;
}