question: opens a new connection and add it to the pool concode_field_sep String className concode_elem_sep Properties connectionProps concode_elem_sep Map<DataEngineSession,Map<ConnectionProp,Set<CacheConnection>>> dataEngineLevelConnectionPool concode_elem_sep int currentStatements concode_elem_sep int maxStatements concode_elem_sep DataEngineSession session concode_elem_sep Connection odaConn concode_elem_sep Map appContext concode_elem_sep HashMap statementMap concode_elem_sep Logger logger concode_elem_sep String driverName concode_elem_sep Properties props concode_field_sep String getDriverName concode_elem_sep boolean canClose concode_elem_sep CacheConnection getAvailableConnection concode_elem_sep void dataEngineShutdown concode_elem_sep void releaseConnection concode_elem_sep void closeStatement concode_elem_sep Set<CacheConnection> getOdaConnections concode_elem_sep PreparedStatement prepareStatement concode_elem_sep void setAppContext concode_elem_sep ICandidateQuery newCandidateQuery concode_elem_sep void addProperty concode_elem_sep boolean isOpen concode_elem_sep void releaseDataSource concode_elem_sep int hashCode concode_elem_sep boolean equals concode_elem_sep IDataSourceQuery newQuery concode_elem_sep void close concode_elem_sep void open
target: CacheConnection function ( ) { CacheConnection loc0 = new CacheConnection ( ) ; loc0 . odaConn = ConnectionManager . getInstance ( ) . openConnection ( driverName , connectionProps , appContext ) ; int loc1 = loc0 . odaConn . getMaxQueries ( ) ; if ( loc1 != 0 ) loc0 . maxStatements = loc1 ; this . getOdaConnections ( true ) . add ( loc0 ) ; return loc0 ; }