text: public virtual void DecRef(){if (refCount <= 0){throw new InvalidOperationException("this revision is already released");}var rc = refCount.DecrementAndGet();if (rc == 0){bool success = false;try{Revision.Release();success = true;}finally{if (!success){refCount.IncrementAndGet();}}}else if (rc < 0){throw new InvalidOperationException(string.Format("too many decRef calls: refCount is {0} after decrement", rc));}}