Java Synthesis