Pattern: builder, java flavour