code: public PoolableObject<V> getFree() {
  		if (!borrowed.isEmpty()) {
  			for (PoolableObject<V> bo : borrowed) {
  				if (bo.isCurrentOwner())
  					return bo;
  			}
  		}
  		if (!available.isEmpty()) {
  			PoolableObject<V> obj = available.remove();
  			borrowed.add(obj);
  			return obj;
  		}
  		return null;
  	}
docs: Finds an available Poolable Object to borrow
  
  @return Poolable Object or null if we couldn't allocate