Generate builders as per Bloch's Effective Java with all the benefits but without the boilerplate