class DefaultSessionPool implements SessionPool {

    @Override
    public void shutdown() {
        try {
            if(log.isInfoEnabled()) {
                log.info(String.format("Close connection pool %s", this));
            }
            this.evict();
            pool.close();
        }
        catch(Exception e) {
            log.warn(String.format("Failure closing connection pool %s", e.getMessage()));
        }
        finally {
            registry.clear();
        }
    }

    public  DefaultSessionPool(final ConnectionService connect, final X509TrustManager trust, final X509KeyManager key,
                              final VaultRegistry registry, final Cache<Path> cache, final TranscriptListener transcript,
                              final Host bookmark);
    public  DefaultSessionPool(final ConnectionService connect, final VaultRegistry registry, final Cache<Path> cache,
                              final TranscriptListener transcript, final Host bookmark, final GenericObjectPool<Session> pool);

}