class ObjectPool {

	public T getObject() {
		synchronized (pool) {
			if (pool.size() > 0) {
				return pool.remove(pool.size()-1);
			}
		}
		return factory.create();
	}

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

}