I know the theory, they are awesome, the ones included in the framework simplify many things, they even have performance gain.
There are many answers about this topic with very nice examples but typically with low practical value to me or examples that are already present in the framework.
The question is, in which cases you decide to write a class of your own that uses generics?
I’m using generics every time I need to apply same algorithm / same logic on different types of objects.
Example is generic repository: