title: INotifyCollectionChanged: Added item does not appear at given index '0'
body: <p>I'm making a observable class. The Add methods works fine. But then I'm trying to call the Remove() method I get this error:</p>
  
  <blockquote>
    <p>"Added item does not appear at given index '0'"</p>
  </blockquote>
  
  <p>but I'm setting the NotifyCollectionChangedAction enum to Remove as the code below.</p>
  
  <pre><code>    public class ObservableOrderResponseQueue : INotifyCollectionChanged, IEnumerable&lt;OrderResponse&gt;
  {
      public event NotifyCollectionChangedEventHandler CollectionChanged;
      private List&lt;OrderResponse&gt; _list = new List&lt;OrderResponse&gt;();
  
  
      public void Add(OrderResponse orderResponse)
      {
          this._list.Add(orderResponse);
          if (CollectionChanged != null)
          {
              CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, orderResponse, 0));
          }
      }
  
      public void RemoveAt(int index)
      {
          OrderResponse order = this._list[index];
          this._list.RemoveAt(index);
          if (CollectionChanged != null)
          {
              CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, order, index));
          }
      }
  
      public void Remove(OrderResponse orderResponse)
      {
          var item = _list.Where(o =&gt; o.OrderDetail.TrayCode == orderResponse.OrderDetail.TrayCode).FirstOrDefault();
          int index = _list.IndexOf(item);
  
          this._list.RemoveAt(index);
          if (CollectionChanged != null)
          {
              CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, item, index));
          }
      }
  </code></pre>