Understanding parametric polymorphism, Java 9 generics, and generic code
Imagine that we have develop a Web Service that has to work with the representation of the organization of a party of specific wild animals. We definitely don't want to mix lions with hyenas because the party would end up with the hyenas intimidating a lonely lion. We want a well-organized party, and we don't want intruders such as dragons or cats in a party where only lions should attend.
We want to describe the procedures to start, welcome members, organize the party and say goodbye to the different members of the party. Then, we want to replicate these procedures with swans in a party of swans. Thus, we want to reuse our procedures for a party of lions and a party of swans. In the future, we will need to use the same procedures for parties of other wild and domestic animals, such as foxes, alligators, cats, tigers, and dogs. Obviously, we wouldn't like to become intruders in a party of alligators. Neither would we...