obj, name, nameCtx, environment);
ref, name, nameCtx, environment);
    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();        FBConnectionPoolDataSource ds =             (FBConnectionPoolDataSource)super.getObjectInstance(                obj, name, nameCtx, environment);                if (ds == null)            return null;                for (int i = 0; i < ref.size(); i++) {            RefAddr element = ref.get(i);                        String type = element.getType();                        if (REF_DATABASE.equals(type))                ds.setDatabase(element.getContent().toString());            else             if (REF_TYPE.equals(type))                ds.setType(element.getContent().toString());            else             if (REF_PROPERTIES.equals(element.getType())) {                                byte[] data = (byte[])element.getContent();                Properties props = (Properties)deserialize(data);                if (props != null)                     ds.setProperties(props);            } else            if (REF_NON_STANDARD_PROPERTY.equals(type))                 ds.setNonStandardProperty(element.getContent().toString());            else            if (element.getContent() instanceof String)                 ds.setProperty(type, element.getContent().toString());        }                return ds;    }