The issue is that the predicate interface does contain one method -- its non-static and non-default. (An interface can still have multiple static and default methods). However, I still have to document default methods, which is a new feature for JDK 8.