add Java builder API