public void run () {
			//the Mac version of this native function should never return, unless there is a startup error
			//  it's CFRunLoop will keep watching for device changes with this thread
                    if(trace)
                        System.out.println("MacOSX Host starting device scan!\n");
			if (scanForDevices(matchUSBvendorID,matchUSBproductID) < 0) {
				throw new NullPointerException("Failed to start scanning for MacOS X USB devices");
			}
		}