Per the linked forum thread:
It appears that on certain platforms e.g. Tomcat, the set of classes coming into onStartup will never be null when @HandlesType(WebApplicationInitializer.class) is specified, because the actual WAI interface is always picked up; i.e. there will always be at least one class in the set. My own testing on GlassFish suggested the same behavior, but obviously the reporter here is seeing the opposite behavior.
Per the Javadoc for ServletContainerInitializer, the set will be null if no classes matching @HandlesType are found, and that's what we're seeing here.
In any case, a null guard within SpringServletContainerInitializer doesn't hurt and certainly solves this issue.