We stream in terrain information as loss-less jpeg2000 images (to save bandwidth) and use JAI to decode. Our problem emerged as soon as we moved from a standalone native canvas to RCP and our terrain stopped loading. For about three hours we debugged the network, the shaders, the rcp code and dug deep into the bowels of JAI before realizing that for some reason JAI stopped being able to decode jpeg2000 images.
After a lot of debugging, the manager of the group here (one Mark Powell, not the jME guy,) recalled an issue with JAI where there were assumptions in JAI about classloaders and static initializers and these assumptions were false in RCP. The fix was to manually force initialization of the jpeg2000 reader service with a small static block of code like so:
{
J2KImageReaderSpi spi = new J2KImageReaderSpi();
IIORegistry.getDefaultInstance().registerServiceProvider(spi);
}And just like that, 3 hours of head scratching was fixed with 2 lines of code. I post this in the hopes that it saves someone else those same hours.

Curiosity was hooked to a large umbilical cord and men and women in white clean room suits stood around it waiting for something to happen. About 20-25 minutes crept by in the rapidly warming observation deck when suddenly, the rover lurched forward at a slow crawl and drove for perhaps 2 meters before halting at the edge of the mat it stood on.
Ok, not exactly Hollywood, but the crowd on the platform broke out into applause with smiles all around. Good times.