class ObjectPool {

	public void recycle(T object) {
		factory.recycle(object);
		synchronized (pool) {
			if (pool.size() < poolSize && !pool.contains(object)) {
				pool.add(object);
			}
		}
	}

	public  ObjectPool(ObjectFactory<T> factory, int poolSize);

}