В чем заключается основная проблема, с которой вы сталкиваетесь как разработчик, когда используете библиотеки, которыми вы не владеете? Вы не можете их изменить. Если в общедоступном API библиотеки чего-то не хватает, у вас нет возможности расширить его. Используя отличное старое объектно-ориентированное программирование, вы можете преодолеть эту проблему, написав много шаблонного кода. В экосистеме JVM современные языки программирования, такие как Scala, Kotlin или Groovy, пытаются найти решение для расширения библиотеки, шаблона Pimp My Library. С тегами ооп, java, scala, котлин.