public AccessLevel AddAccessRight(Product product, AccessLevel accessRight)
 {
     product.UserAccess = product.UserAccess == null ? accessRight : product.UserAccess | accessRight;
     return product.UserAccess.Value;
 }
 //TODO: if parameter is nullable<int> in parameter, the url parser will parse it as nullable = false;
 public Collection<ProductDetail> GetProductDetails(Product product, int count)
 {
     if (/*count == null || */product.Details.Count < count)
     {
         return product.Details;
     }
     else
     {
         return new Collection<ProductDetail>(product.Details.Take(count).ToList());
     }
 }