Pushed to upstream

cc/ @willnewbury.  Reverting as the build (ant all) does not compile