FBConnectionRequestInfo cri = FBConnectionHelper.getCri(props, null);
FBConnectionRequestInfo cri = FBConnectionHelper.getCri(props, GDSFactory.getGDSForType(this.getGDSType()));
    public PooledObject allocateConnection(Object key)        throws SQLException    {                if (!(key instanceof UserPasswordPair))            throw new SQLException("Incorrect key.");                    UserPasswordPair pair = (UserPasswordPair)key;        String userName = pair.userName;         String password = pair.password;        Properties props = new Properties();        props.putAll(getProperties());                if (userName != null)            props.setProperty(USER_NAME_PROPERTY, userName);                    if (password != null)            props.setProperty(PASSWORD_PROPERTY, password);                    FBConnectionRequestInfo defaultCri =             getManagedConnectionFactory().getDefaultConnectionRequestInfo();                     FBConnectionRequestInfo cri = FBConnectionHelper.getCri(props, null);                    try {            FBManagedConnection managedConnection = (FBManagedConnection)                getManagedConnectionFactory().createManagedConnection(null, cri);            PingablePooledConnection pooledConnection = null;            if (isPingable())                pooledConnection =                    new FBPooledConnection(                        managedConnection,                        cri,                        getPingStatement(),                        getPingInterval());            else                pooledConnection =                     new FBPooledConnection(managedConnection, cri);            return pooledConnection;        } catch(ResourceException ex) {            throw new FBSQLException(ex);        }    }