@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final ConnectionPoolConfig that = (ConnectionPoolConfig) o;
        return cachePrepStmts == that.cachePrepStmts
                && prepStmtCacheSize == that.prepStmtCacheSize
                && prepStmtCacheSqlLimit == that.prepStmtCacheSqlLimit
                && minimumIdle == that.minimumIdle
                && maxPoolSize == that.maxPoolSize
                && Objects.equals(connectionTimeout, that.connectionTimeout)
                && Objects.equals(idleTimeout, that.idleTimeout)
                && Objects.equals(maxLifetime, that.maxLifetime)
                && Objects.equals(leakDetectionThreshold, that.leakDetectionThreshold);
    }
Merges the non-null values of other into this. If other is null return this.
stroom-config/stroom-config-common/src/main/java/stroom/config/common/ConnectionPoolConfig.java