What the author sees as Modern Java: Adopting a functional style and using functional techniques. Limiting mutation to small, controlled scopes supported by a library like Guava. Pushing OO to the edges of the system. Eg smaller, immutable value objects and larger, limited-mutable behavior objects held together by functional style “glue”. Using the language to express our domains rather than our implementation. Compose from technical building blocks to the business domain without leaking the technical details through.