code: public Object getObjectInstance(Object obj, Name name, Context nameCtx,
                                      Hashtable environment) throws Exception {
  
          String    dsClass = "org.hsqldb_voltpatches.jdbc.JDBCDataSource";
          Reference ref     = (Reference) obj;
  
          if (ref.getClassName().equals(dsClass)) {
              JDBCDataSource ds = new JDBCDataSource();
  
              ds.setDatabase((String) ref.get("database").getContent());
              ds.setUser((String) ref.get("user").getContent());
              ds.setPassword((String) ref.get("password").getContent());
  
              return ds;
          } else {
              return null;
          }
      }
docs: Creates a JDBCDataSource object using the location or reference
  information specified.<p>
  
  The Reference object should support the properties, database, user,
  password.
  
  @param obj The reference information used in creating a
  JDBCDatasource object.
  @param name ignored
  @param nameCtx ignored
  @param environment ignored
  @return A newly created JDBCDataSource object; null if an object
  cannot be created.
  @exception Exception never