The typical examples when subclassing is necessary but impossible are:
final classes marked with framework-specific annotations (e.g. Spring @Configuration)final, static or private methods
marked with framework-specific annotations (e.g. Spring @Transactional)final classesThe list of reported cases depends on the frameworks used.