public T this[T reference] { get { if (_results.Find(ref reference)) { return(reference); } return(default(T)); } set { if (!_results.Contains(reference)) { _results.Add(value); } else { _results.Update(value); } } }