Java Producer Provider

First pass at adding java producer functionality.  

A lot still needs to be cleaned up
Passing embedded arrays is not something this API supports, nor should we add code to do so.