This does indeed look like a functional programming version of Joshua Bloch's builder pattern. One of the motivations there was the lack of named parameters in Java. Another one is to avoid telescoping constructors.
↧