Ah, it's the great cycle of Java life: everything begins all shiny and cross-platform, because isn't that was Java is all about, with the writing once and running everywhere? But then all the ...