public IEnumerable<Product> GetProducts()
{
lock (_products)
{
// Return new collection so callers can iterate independently on separate threads
return _products.ToArray();
}
}