protected virtual void Dispose(bool fDisposing)
{
Debug.WriteLineIf(!fDisposing, "****** Missing Dispose() call for " + GetType() + " *******");
if (fDisposing && !IsDisposed)
{
// dispose managed and unmanaged objects
var disposable = Accessor as IDisposable;
if (disposable != null)
disposable.Dispose();
}
IsDisposed = true;
}
#endregion