### Question:
PooledFactory implements Factory { public PooledFactory(final Class<?> svcClass, int max) { this(new PerRequestFactory(svcClass), max, false); } PooledFactory(final Class<?> svcClass, int max);  PooledFactory(final Factory factory, int max);  PooledFactory(final Factory factory, int max, boolean createMore);  PooledFactory(Collection<Object> objs); Object create(Exchange ex); void release(Exchange ex, Object o);  }### Answer:
@Test public void testPooledFactory() throws Throwable { Object existing = new Object(); PooledFactory pf = new PooledFactory(Collections.singleton(existing)); assertSame(existing, pf.create(null)); pf.release(null, existing); assertSame(existing, pf.create(null)); }