As per the spec:
A timeout callback method can have public, private, protected, or package level access. A timeout callback method must not be declared as final or static.
Thanks for your fast reply!
Do you know the reason it cannot be declared 'final'? Does it need to be proxied or something?