public int decrement(int decrement){
  allocator.assertOpen();
  final int outcome;
  try (AutoCloseableLock write=writeLock.open()){
    outcome=bufRefCnt.addAndGet(-decrement);
    if (outcome == 0) {
      lDestructionTime=System.nanoTime();
      listener.release();
    }
  }
   return outcome;
}

public int decrement ( int decrement ) { allocator . assertOpen ( ) ; final int outcome ; try ( AutoCloseableLock write = writeLock . open ( ) ) { outcome = bufRefCnt . addAndGet ( - decrement ) ; if ( outcome == 0 ) { lDestructionTime = System . nanoTime ( ) ; listener . release ( ) ; } } return outcome ; }
decrement the ledger ' s reference count . if the ledger is decremented to zero , this ledger should release its ownership back to the allocationmanager
