public UsbSerialDriver probeDevice(final UsbDevice usbDevice) {
        final Class<? extends UsbSerialDriver> driverClass = mProbeTable.findDriver(usbDevice);
        if (driverClass != null) {
            final UsbSerialDriver driver;
            try {
                final Constructor<? extends UsbSerialDriver> ctor =
                        driverClass.getConstructor(UsbDevice.class);
                driver = ctor.newInstance(usbDevice);
            } catch (NoSuchMethodException | IllegalArgumentException | InstantiationException |
                     IllegalAccessException | InvocationTargetException e) {
                throw new RuntimeException(e);
            }
            return driver;
        }
        return null;
    }
Probes a single device for a compatible driver.

@param usbDevice the usb device to probe
@return a new {@link UsbSerialDriver} compatible with this device, or
        {@code null} if none available.
usbSerialForAndroid/src/main/java/com/hoho/android/usbserial/driver/UsbSerialProber.java