| static {...} |   | 6% |   | 50% | 1 | 2 | 15 | 20 | 0 | 1 |
| invalidateConnection(Connection) |   | 43% |   | 50% | 3 | 4 | 7 | 15 | 0 | 1 |
| getConnection() |   | 21% |   | 25% | 2 | 3 | 7 | 9 | 0 | 1 |
| registerJmxObjectName(String, ObjectName) |   | 42% |   | 50% | 2 | 3 | 3 | 9 | 0 | 1 |
| createDataSource() |   | 83% |   | 83% | 1 | 4 | 4 | 26 | 0 | 1 |
| jmxRegister() |   | 65% |   | 75% | 1 | 3 | 3 | 12 | 0 | 1 |
| log(String, Throwable) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| close() |   | 71% |  | 100% | 0 | 3 | 4 | 15 | 0 | 1 |
| preRegister(MBeanServer, ObjectName) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getAbandonedLogWriter() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| setTestOnCreate(boolean) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| setEvictionPolicyClassName(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| setLogWriter(PrintWriter) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| addConnectionProperty(String, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getConnectionInitSqlsAsArray() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDisconnectionIgnoreSqlCodesAsArray() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDisconnectionSqlCodesAsArray() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| removeConnectionProperty(String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setConnectionPool(BiConsumer, Object) |   | 44% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getConnection(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLoginTimeout() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setLoginTimeout(int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setDisconnectionIgnoreSqlCodes(Collection) |   | 85% |   | 50% | 2 | 3 | 0 | 5 | 0 | 1 |
| setDisconnectionSqlCodes(Collection) |   | 85% |   | 50% | 2 | 3 | 0 | 5 | 0 | 1 |
| getParentLogger() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setAutoCommitOnReturn(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setCacheState(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setDefaultQueryTimeout(Duration) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setDriver(Driver) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setEnableAutoCommitOnReturn(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setRollbackOnReturn(boolean) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$getConnection$0() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createPoolableConnectionFactory(ConnectionFactory) |   | 97% |  | 100% | 0 | 2 | 2 | 30 | 0 | 1 |
| createObjectPool(PoolableConnectionFactory, GenericObjectPoolConfig, AbandonedConfig) |   | 87% |   | 50% | 2 | 4 | 1 | 5 | 0 | 1 |
| getRemoveAbandonedTimeoutDuration() |   | 70% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| getEnableAutoCommitOnReturn() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getEvictionPolicyClassName() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLogExpiredConnections() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getTestOnCreate() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isClosed() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDefaultQueryTimeout() |   | 81% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| setDefaultQueryTimeout(Integer) |   | 81% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| getNumActive() |   | 80% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| setConnectionFactoryClassName(String) |   | 80% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| setDefaultCatalog(String) |   | 80% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| setDefaultSchema(String) |   | 80% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| getLogAbandoned() |  | 90% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| getRemoveAbandonedOnBorrow() |  | 90% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| getRemoveAbandonedOnMaintenance() |  | 90% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| lambda$setDisconnectionSqlCodes$5(String) |  | 87% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| lambda$setDisconnectionIgnoreSqlCodes$4(String) |  | 87% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| lambda$setConnectionProperties$2(String) |  | 85% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| postDeregister() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| postRegister(Boolean) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| preDeregister() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createConnectionPool(PoolableConnectionFactory) |  | 100% |   | 83% | 1 | 4 | 0 | 23 | 0 | 1 |
| BasicDataSource() |  | 100% | | n/a | 0 | 1 | 0 | 23 | 0 | 1 |
| lambda$setConnectionProperties$3(Properties, String) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| validateConnectionFactory(PoolableConnectionFactory) |  | 100% |  | 100% | 0 | 2 | 0 | 10 | 0 | 1 |
| setAbandoned(BiConsumer, Object) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| setConnectionInitSqls(Collection) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| setConnectionProperties(String) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| updateJmxName(GenericObjectPoolConfig) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| unwrap(Class) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| startPoolMaintenance() |  | 100% |   | 75% | 1 | 3 | 0 | 3 | 0 | 1 |
| createDataSourceInstance() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getAbandonedUsageTracking() |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| getNumIdle() |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| isEmpty(String) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| isWrapperFor(Class) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| setDriverClassName(String) |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| setValidationQuery(String) |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| closeConnectionPool() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getConnectionInitSqls() |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| getDisconnectionIgnoreSqlCodes() |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| getDisconnectionSqlCodes() |  | 100% |  | 100% | 0 | 2 | 0 | 2 | 0 | 1 |
| setLifo(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setMaxIdle(int) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setMaxTotal(int) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setMinIdle(int) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setNumTestsPerEvictionRun(int) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setTestOnBorrow(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setTestOnReturn(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setTestWhileIdle(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| log(String) |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| setDurationBetweenEvictionRuns(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setMaxWait(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setMinEvictableIdle(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setSoftMinEvictableIdle(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$setConnectionInitSqls$1(String) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| evict() |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| setRemoveAbandonedTimeout(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| start() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setAbandonedUsageTracking(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setLogAbandoned(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setRemoveAbandonedOnBorrow(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setRemoveAbandonedOnMaintenance(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setValidationQueryTimeout(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| createConnectionFactory() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRemoveAbandonedTimeout() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getValidationQueryTimeout() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| restart() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| setAbandonedLogWriter(PrintWriter) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMaxConnLifetimeMillis(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMaxWaitMillis(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMinEvictableIdleTimeMillis(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setRemoveAbandonedTimeout(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setSoftMinEvictableIdleTimeMillis(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setTimeBetweenEvictionRunsMillis(long) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getLogWriter() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxConnLifetimeMillis() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxWaitMillis() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMinEvictableIdleTimeMillis() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRegisteredJmxName() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSoftMinEvictableIdleTimeMillis() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTimeBetweenEvictionRunsMillis() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setAccessToUnderlyingConnectionAllowed(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setClearStatementPoolOnReturn(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setConnectionInitSqls(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setDefaultAutoCommit(Boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setDefaultReadOnly(Boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setDefaultTransactionIsolation(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setDriverClassLoader(ClassLoader) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setFastFailValidation(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setInitialSize(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setJmxName(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setLogExpiredConnections(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMaxConn(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setMaxOpenPreparedStatements(int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setPassword(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setPoolPreparedStatements(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setRegisterConnectionMBean(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setUrl(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setUsername(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setValidationQueryTimeout(Duration) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getAutoCommitOnReturn() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCacheState() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getConnectionFactoryClassName() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getConnectionPool() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getConnectionProperties() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDefaultAutoCommit() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDefaultCatalog() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDefaultQueryTimeoutDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDefaultReadOnly() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDefaultSchema() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDefaultTransactionIsolation() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDriver() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDriverClassLoader() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDriverClassName() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDurationBetweenEvictionRuns() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getFastFailValidation() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getInitialSize() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getJmxName() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLifo() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxConnDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxIdle() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxOpenPreparedStatements() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxTotal() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaxWaitDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMinEvictableIdleDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMinIdle() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getNumTestsPerEvictionRun() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPassword() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRollbackOnReturn() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSoftMinEvictableIdleDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTestOnBorrow() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTestOnReturn() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTestWhileIdle() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getUrl() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getUsername() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getValidationQuery() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getValidationQueryTimeoutDuration() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isAccessToUnderlyingConnectionAllowed() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isClearStatementPoolOnReturn() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isPoolPreparedStatements() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| toLinkedHashSet() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |