public Device getDevice (Host host)
    throws IOException
    {
	Bus	busses [], bus = null;

	// Is there a likely Universal Serial Bus?
	if (host == null)
	    return null;
	try {
	    busses = host.getBusses ();
	    for (int i = 0; i < busses.length; i++) {
		if (!busses [i].getRootHub ()
			.getDeviceDescriptor ().getSerial (0)
			.equals (busId))
		    continue;
		bus = busses [i];
		break;
	    }
	    if (bus == null)
		return null;
	
	    // see if such a device exists.
	    Device	dev = bus.getRootHub ();

	    for (int i = 0; i < port.length && dev != null; i++) {
		dev = dev.getChild (port [i]);
	    }
	    return dev;
	} catch (Exception e) {
	    // fallthrough
	}
	return null;
    }