This is an old revision of the document!
In libusb, the bus structure (with devices, configurations, interfaces and endpoints) is represented in C structs. These structures are kept there, no Java object are created (named Usb_xxx) and the information is copied to this object. This is done when calling LibusbJava.usb_get_busses(). The information about busses and attached devices can now be obtained from a tree like Java Object structure.
It provides a simple Device class which represents a USB device and makes it easy to write to and read from it. Errors and Timeouts will result in Exceptions.