Towards developing a translation: probably need to first come up with a representation for class Class, including a representation for fields and methods. Then, have a way to create a new instance of an object given its Class object. Then, work on Class::getField/Method() methods. Given a Field, be able to get and set it on a given object. Given a Method, be able to invoke it. Try to use types to enforce the security policies. Then work on the strange constructs- constructors, arrays, etc.
Names matter- there are String's floating around everywhere!
Also need to be able to handle both static/instance fields and class(ie. static)/instance methods. What about the array arguments in the Method class- do we need arrays first?
All kinds of exceptions are raised when things go wrong. Do we need to support any of that or will that be caught during type checking?
Performance of existing implementations seems to be bad already, perhaps mainly because of native calls.