Following code should throw exception to prevent adding duplicate collection item.
ICollection<T> collection = new List<T>();
public void Add(T item)
{
    if (collection.Contain(item))
    {
          throw new SomeExceptoinType()
    }
    collection.Add(item);
}
What standard exception type is the most apropriate?