ApplicationContextEvent currently inherits getSource() from java.util.EventObject.getSource() which has an Object return type.
We should therefore introduce a local getSource() implementation in ApplicationContextEvent with an ApplicationContext covariant return type, analogous to TestContextEvent in spring-test.