title: Copy ObservableCollection to another ObservableCollection
body: <p>How to copy <code>ObservableCollection</code> item to another <code>ObservableCollection</code> 
  without reference of first collection? Here <code>ObservableCollection</code> item value changes affecting both collections.</p>
  
  <p>Code</p>
  
  <pre><code>private ObservableCollection&lt;RateModel&gt; _AllMetalRate = new ObservableCollection&lt;RateModel&gt;();
  private ObservableCollection&lt;RateModel&gt; _MetalRateOnDate = new ObservableCollection&lt;RateModel&gt;();
  
  public ObservableCollection&lt;RateModel&gt; AllMetalRate
  {
      get { return this._AllMetalRate; }
      set
      {
          this._AllMetalRate = value;
          NotifyPropertyChanged("MetalRate");
      }
  }
  
  public ObservableCollection&lt;RateModel&gt; MetalRateOnDate
  {
      get { return this._MetalRateOnDate; }
      set
      {
          this._MetalRateOnDate = value;
          NotifyPropertyChanged("MetalRateOnDate");
      }
  }
  
  foreach (var item in MetalRateOnDate)
      AllMetalRate.Add(item);
  </code></pre>
  
  <p>What is causing this and how can I solve it?</p>