I tried that temporary fix but still had the same problem but I didn't look to deeply into it. There's no hurry.
Sorry, I gave wrong instructions, I should have checked this from the source code and not rely on my memory alone.
Currently Odejava supports only single World. Odejava.cpp needs to be converted from static into instantiable class, after this is done the setCurrentWorld method can be removed and then Odejava supports multiple Worlds.
Let's keep setCurrentWorld method for now, I also removed deprecated status from setCurrentWorld as it is required for now. I'll add multiple world support for Odejava later after some more important things are done.
Another question I have is regarding Geom which is attached to the zero space - it is perfectly ok to call any of the methods on it is it, even before it's added to a Space?
ODE's own documentation can help out here. Although it is somewhat sparse on some areas. If the documentation won't tell this, then you need to ask it from q12.org or try i out yourself.
Currently there is a check to prevent this but I am thinking that some of these can be safely removed. However I will leave an assertion in the addToSpace method to ensure that a Geom can't be added to a Space if it's already in one (the correct procedure is of course to remove it first) and I'll probably make this method final as well.
There's some things that user can do in "wrong order" and on some cases ODE won't even complain anything but can ignore some setting that was done too early. This is just a hunch that I have based on my ODE experience.
Optimally Higher Level API should make all kinds of checks and make sure processes are executed in right order. This requires some testing if you wish to find most problematic cases out.
At this point I wouldn't worry if HL API does not contain all the asserts that it should have. Just make sure the demos work so Odejava newbies see how things should be done.