public override bool TryLock()
{
Debug ("{0} trying to lock {1}", CurrentThread, Name);
bool success = Monitor.TryEnter (this);
if (success)
Debug ("{0} locked {1}", CurrentThread, Name);
else
Debug ("{0} could not lock {1}", CurrentThread, Name);
return success;
}