@SuppressWarnings("unused")
	public synchronized Resource getResource(Object key){
		if(shutdown)
			throw new IllegalStateException();
		Resource res = new ResourceImpl(key);
		if(res == null){//The key is not available.
			res.release();
		}
		else{//The key is available. 
			Reference<?> ref = new PhantomReference<Object>(key, queue);//You'll be able to get the object by way of "ref" from the key.
			refs.put(ref, res);
		}
		return res;
	}