title: Create in a simple way a copy of an object
body: <p>Consider the code below:</p>
  
  <pre><code>Project project1 = new Project("string1","string2","string3","string4","string5", ...);
  Project project2 = project1;
  </code></pre>
  
  <p>Here, <code>project2</code> is not a copy of <code>project1</code>, because it points to the same object.
  It significate that if I edit <code>project2</code>, it also edit <code>project1</code>.</p>
  
  <p>I want <code>project2</code> to be independent of <code>project1</code>.
  I suppose that I can make a constructor with a <code>Project</code> param like:</p>
  
  <pre><code>public Project(Project project) {
      this.string1 = project.getString1();
      this.string2 = project.getString2();
      ...
  }
  </code></pre>
  
  <p>I my case, I have something like 15 attributes in my Project class, so doing this would require me to write a big constructor.</p>
  
  <p>Is there a better way to do this ? :)</p>
  
  <p>Thanks !</p>