I’ve removed the synchronized modifier from the renderOnce method in Renderer and replaced it with a synchronized block, which takes the current VirtualUniverse instance as the mutex. This way you can create synchronized blocks on your own also using your VirtualUniverse as the mutex and your scenegraph manipulations will be thread safe.
Marvin