GrobidPoolingFactory extends AbstractEngineFactory implements
		PoolableObjectFactory { protected static GenericObjectPool newPoolInstance() { if (grobidEnginePool == null) { LOGGER.debug("synchronized newPoolInstance"); synchronized (grobidEnginePoolControl) { if (grobidEnginePool == null) { grobidEnginePool = new GenericObjectPool(GrobidPoolingFactory.newInstance()); grobidEnginePool .setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK); grobidEnginePool.setMaxWait(GrobidProperties.getPoolMaxWait()); grobidEnginePool.setMaxActive(GrobidProperties.getMaxPoolConnections()); grobidEnginePool.setTestWhileIdle(false); grobidEnginePool.setLifo(false); grobidEnginePool.setTimeBetweenEvictionRunsMillis(2000); grobidEnginePool.setMaxIdle(0); } } } return grobidEnginePool; } protected  GrobidPoolingFactory(); static synchronized Engine getEngineFromPool(boolean preloadModels); static void returnEngine(Engine engine); @Override void activateObject(Object arg0); @Override void destroyObject(Object arg0); @Override Object makeObject(); @Override void passivateObject(Object arg0); @Override boolean validateObject(Object arg0);  }
@Test public void testnewPoolInstance() throws Exception { }