public void decRef() throws IOException {if (refCount.get() <= 0) {throw new IllegalStateException("this revision is already released");}final int rc = refCount.decrementAndGet();if (rc == 0) {boolean success = false;try {revision.release();success = true;} finally {if (!success) {refCount.incrementAndGet();}}} else if (rc < 0) {throw new IllegalStateException("too many decRef calls: refCount is " + rc + " after decrement");}}

public void decRef ( ) throws IOException { if ( refCount . get ( ) <= 0 ) { throw new IllegalStateException ( "this revision is already released" ) ; } final int rc = refCount . decrementAndGet ( ) ; if ( rc == 0 ) { boolean success = false ; try { revision . release ( ) ; success = true ; } finally { if ( ! success ) { refCount . incrementAndGet ( ) ; } } } else if ( rc < 0 ) { throw new IllegalStateException ( "too many decRef calls: refCount is " + rc + " after decrement" ) ; } }
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));}}
