In Sybex OCP Java 8 Study Guide Chapter 3 Generics, section Working with Generics it presents the bounded parameter type and wildcard generic type but it only explains wildcards; it fails to mention that bounded parameter types can extend multiple classes and interfaces (1 class - n interfaces) and the fact that their bounds don't make the collections read-only (https://docs.oracle.com/javase/tutorial/java/generics/bounded.html).
Feel like that could be improved in a future version.
As Jeanne pointed out, we focused the study guide on preparing you for the exam. If we tried to include every possible topic, it would easily be a 2,000+ page book! (streams can get complicated!) That said, we tried to add a side bar when we found something interesting that we thought added value, even if it wasn't strictly on the exam.
Generics and streams are topics that can be difficult because so much is built on top of each other. For example, you have to understand basic generics well before you can understand wildcards. Likewise, you need to be pretty skilled with lambdas and basic streams before jumping into more complex methods like groupingBy() and primitive streams.
For sections like this, we tried to ease you into the more complex topics one step at a time, gradually building on the preceding text. As we comment in the book though, some topics are so complex we recommend reading the chapter twice, as you are likely to get more out of it the second time!