Java bindings by Filippo Carone.