title: Updating an object with builder pattern
body: <p>I recently found about this pattern and tried to implement it into my project. It does what it suppose to do. However, tried to find a nice solution to update it. Came up with one solution and I would like to know if it is "acceptable".</p>
  
  <p>Only one difference which I did is I created another constructor inside Builder class which takes calling object as parameter:</p>
  
  <pre><code>public Builder (User user) {
      this.userID = user.getUserID();
      this.userName = user.getUserName();
      ...
      //and so on
  </code></pre>
  
  <p>and in main method</p>
  
  <p>creating an object:</p>
  
  <pre><code>User user = new User.Builder("mandatory params")
                      .email("some email")
                      .build();
  </code></pre>
  
  <p>and update:</p>
  
  <pre><code>user = new User.Builder(user).phoneNumber("my number").build();
  </code></pre>
  
  <p>Is this approach acceptable? </p>