I find it odd that while the article is titled about Java, all of the code examples are in Scala.
The statement "function composition is a degenerate case of the Decorator pattern" in the blog is bizarre to me. OO languages like Java have to resort to the Decorator pattern to handle their lack of composibility; that seems far more degenerate than a language that supports this kind of composition without hacks.
Also this article is 2.5 years old.