public final void decRef() throws IOException {final int rc = refCount.decrementAndGet();if (rc == 0) {boolean success = false;try {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(){int rc = refCount.DecrementAndGet();if (rc == 0){bool success = false;try{Release();success = true;}finally{if (!success){refCount.IncrementAndGet();}}}else if (rc < 0){throw new InvalidOperationException("too many DecRef() calls: refCount is " + rc + " after decrement");}}
