else if (REF_MIN_SIZE.equals(type)) ds.setMinConnections(Integer.parseInt(element.getContent().toString()));
    public Object getObjectInstance(Object obj, Name name, Context nameCtx,         Hashtable environment) throws Exception     {        if (!(obj instanceof Reference)) return null;        Reference ref = (Reference)obj;        ref = (Reference)ref.clone();        if (!getClass().getName().equals(ref.getClassName()))            return null;        FBWrappingDataSource ds = new FBWrappingDataSource();                for(int i = 0; i < ref.size(); i++) {            RefAddr element = ref.get(i);                        String type = element.getType();            if (REF_BLOCKING_TIMEOUT.equals(type))                ds.setBlockingTimeout(Integer.parseInt(element.getContent().toString()));            else            if (REF_DATABASE.equals(type))                ds.setDatabase(element.getContent().toString());            else            if (REF_DESCRIPTION.equals(type))                ds.setDescription(element.getContent().toString());            else            if (REF_IDLE_TIMEOUT.equals(type))                ds.setIdleTimeout(Integer.parseInt(element.getContent().toString()));            else            if (REF_LOGIN_TIMEOUT.equals(type))                ds.setLoginTimeout(Integer.parseInt(element.getContent().toString()));            else            if (REF_MAX_SIZE.equals(type))                ds.setMaxConnections(Integer.parseInt(element.getContent().toString()));            else            if (REF_MIN_SIZE.equals(type))                ds.setMinConnections(Integer.parseInt(element.getContent().toString()));            else            if (REF_PING_INTERVAL.equals(type))                ds.setPingInterval(Integer.parseInt(element.getContent().toString()));            else            if (REF_TYPE.equals(type))                ds.setType(element.getContent().toString());            else            if (REF_TX_ISOLATION.equals(type))                ds.setTransactionIsolationLevel(Integer.parseInt(element.getContent().toString()));            else            if (REF_ISOLATION.equals(type))                ds.setIsolation(element.getContent().toString());            else            if (REF_NON_STANDARD_PROPERTY.equals(type))                ds.setNonStandardProperty(element.getContent().toString());            else            if (REF_PROPERTIES.equals(type)) {                byte[] data = (byte[])element.getContent();                Properties props = (Properties)BasicAbstractConnectionPool.deserialize(data);                if (props != null)                     ds.setProperties(props);            } else            if (element.getContent() instanceof String)                 ds.setNonStandardProperty(type, element.getContent().toString());                    }                return ds;    }