title: copy map to another new map
body: <p>I have 2 HashMap as follow:</p>
  
  <pre><code>@Session
  private Map&lt; Integer, List&lt; ObjectA &gt;&gt; keyMap;
  
  @Session
  private Map&lt; Integer, List&lt; ObjectA &gt;&gt; keyMap2;
  </code></pre>
  
  <p>At first, I will put some data inside <code>keyMap</code>, and then I try to store the data inside <code>keyMap</code> to <code>keyMap2</code>:</p>
  
  <pre><code>keyMap2 = keyMap;
  </code></pre>
  
  <p>And then, I will edit some data inside <code>keyMap</code>. However, the value inside <code>keyMap2</code> will changes as what I have edit in <code>keyMap</code>.</p>
  
  <p>As I understanding, it is because <code>keyMap2</code> is only point to <code>keyMap</code> pointer, so anything change in <code>keyMap</code>, it will reflect in <code>keyMap2</code>, because same pointer. (Please correct me if I am wrong.)</p>
  
  <p>I wish to keep the <code>keyMap2</code> value without changes like <code>keyMap</code>. Any idea other than I loop <code>keyMap</code> and put 1 by 1 inside <code>keyMap2</code>.</p>