Java and Kotlin examples (Kotlin multi-module project) include design patterns, concurrency, functional programming