I added wildcards:
Previously code looks:
I understand that here occur relationship producer-consumer or something similar.
Wildcard ? with super give me sureness that this List have ancestors and I can safely adding to it.
Wildcard ? with extends give me reliability that this list is descendant from S, this mean that from D too (because S extends H, H extends D)
But I don't understand difference between before code and after. I see that this give me more possibilities because before I could use only S and D class, now I have whole more spectrum of class to work.
Maybe someone give me some hints about this code because this Generics Day give me headache :)
(I added screens because I had problem with adding proper code)

