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

public final void decRef ( ) throws IOException { ensureOpen ( ) ; final int rc = refCount . decrementAndGet ( ) ; if ( rc == 0 ) { boolean success = false ; try { doClose ( ) ; closed = true ; success = true ; } finally { if ( ! success ) { refCount . incrementAndGet ( ) ; } } } else if ( rc < 0 ) { throw new IllegalStateException ( "too many decRef calls: refCount is " + rc + " after decrement" ) ; } }
expert : decreases the refcount of this taxonomyreader instance . if the refcount drops to 0 this taxonomy reader is closed .
