release method

bool release()

Decrements reference count and disposes if count reaches zero.

Returns: true if resource was disposed, false otherwise

Throws StateError if called more times than acquire.

Implementation

bool release() {
  _refCount--;
  if (_refCount < 0) {
    throw StateError('release() called more times than acquire()');
  }
  if (_refCount == 0) {
    dispose();
    return true;
  }
  return false;
}