in src/Microsoft.VisualStudio.Validation/Assumes.cs [71:91]
public static void NotNullOrEmpty<T>([ValidatedNotNull, NotNull]IEnumerable<T>? values)
{
Assumes.NotNull(values);
bool isEmpty;
if (values is ICollection<T> collection)
{
isEmpty = collection.Count == 0;
}
else if (values is IReadOnlyCollection<T> readOnlyCollection)
{
isEmpty = readOnlyCollection.Count == 0;
}
else
{
using IEnumerator<T> enumerator = values.GetEnumerator();
isEmpty = !enumerator.MoveNext();
}
Assumes.False(isEmpty);
}