public synchronized void release(Object obj){
  if (obj == null) {
    throw new NullPointerException("ResourcePool: managed resource " + "cannot be null");
  }
  if (alloced.remove(obj) == false) {
    throw new IllegalArgumentException("ResourcePool: unknown resource " + obj);
  }
  freeResource(obj);
  notifyAll();
}

public synchronized void release ( Object obj ) { if ( obj == null ) { throw new NullPointerException ( "ResourcePool: managed resource " + "cannot be null" ) ; } if ( alloced . remove ( obj ) == false ) { throw new IllegalArgumentException ( "ResourcePool: unknown resource " + obj ) ; } freeResource ( obj ) ; notifyAll ( ) ; }
release a resource back to the pool after its use is completed .
