> What's the matter with this? It's a clean builder pattern
I feel like you answered yourself. Java makes you do this by not supporting proper keyword arguments.