I think this is great, especially fine to see final methods in interfaces. Looks a bit like aspect oriented programming. Just wanted to add that it's not always *only* a benefit. Like with template method, flow of control may be a bit more complicated for the people who do the overriding. But that depends on how you use it though.