text: 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");}}