Good point - however, I notice this (and some others) also has a `final` modifier. That means any user subclasses can't participate in initialization without overriding `afterPropertiesSet`.

But, if we remove the `final` we have the same problem that this PR is trying to solve (how to enforce subclasses calling this method).

But, I don't think I want to introduce yet another (`doDoInit`) method.

Maybe `protected void doInit` (no final) is ok; because typically initialization here is very specific to the adapter (unlike the advice chain, which is framework code).

WDYT?