public usb.core.Device getDevice (String portId)
        throws IOException
        {
            // hack to work with hotplugging and $DEVICE
            // /proc/bus/usb/BBB/DDD names are unstable, evil !!
            if (portId.startsWith("\\\\?")) {
                synchronized (busses) {
                    Enumeration e = busses.keys ();

                    while (e.hasMoreElements ()) {
                        USB bus = (USB) busses.get (e.nextElement ());
                        if (portId.equals (bus.getBusId ()))
                            continue;
                        return bus.getDevice (0);
                    }
                }
            }
            return null;
        }