It especially allowed to have the following instruction properly compiled:
#extension ARB_draw_buffers : require
Concerning your pictures, the second one is indeed the expected result.
This sample is a kind of cleanup of a work done by abokinsky (see github), who used the NVIDIA online C++ demos originally written by Louis Bavoil, the author of the dual depth peeling algorithm. So there might be some NVIDIA specific code. Please let us now if some primitives do not work on other GC.
You might miss ARB_draw_buffers indeed.
I don't remember exactly, but there is a method to ask OpenGL if a given function exists, and it is available in jogl.
That could help you.