I prefer passing the builder instance into the constructor. Then the constructor extracts the values, and declares its fields final as appropriate.