Initial spike from Ian.
Merged with Robbie.
add java reflection