protected void CheckDisposed()
{
lock (_syncRoot)
{
if (IsDisposed)
{
throw Log.ErrorAndCreateException(msg => new ObjectDisposedException(GetType().GetSafeFullName(false)),
"Object '{0}' is already disposed", GetType().GetSafeFullName(false));
}
}
}