In my opinion, gnash, icedtea (openjdk = free java) and similar projects can go take a long walk off a short pier. They're trying the impossible, which is to re-do something with no idea how it was originally done.
It's pretty much like trying to assemble a kit car just by looking at an assembled one (no peeking inside!), and the results will inevitably be inferior