class LinkedQueuePool implements Pool<R> {

    @Override
    public void release( R toRelease )
    {
        if ( queueSize.get() < targetSize )
        {
            unused.offer( toRelease );
            queueSize.incrementAndGet();
        }
        else
        {
            dispose( toRelease );
        }
    }

    public  LinkedQueuePool( int minSize, Factory<R> factory );
    public  LinkedQueuePool( int minSize, Factory<R> factory, CheckStrategy strategy, Monitor<R> monitor );

}