public class org.springframework.web.SpringServletContainerInitializer implements javax.servlet.ServletContainerInitializer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.web.SpringServletContainerInitializer
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.SpringServletContainerInitializer this
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.web.SpringServletContainerInitializer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/SpringServletContainerInitializer;

  public void onStartup(java.util.Set<java.lang.Class<?>>, javax.servlet.ServletContext);
    descriptor: (Ljava/util/Set;Ljavax/servlet/ServletContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.springframework.web.SpringServletContainerInitializer this
        start local 1 // java.util.Set webAppInitializerClasses
        start local 2 // javax.servlet.ServletContext servletContext
         0: .line 144
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* initializers */
        start local 3 // java.util.List initializers
         1: .line 146
            aload 1 /* webAppInitializerClasses */
            ifnull 13
         2: .line 147
            aload 1 /* webAppInitializerClasses */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.springframework.web.SpringServletContainerInitializer java.util.Set javax.servlet.ServletContext java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 4 /* waiClass */
        start local 4 // java.lang.Class waiClass
         4: .line 150
            aload 4 /* waiClass */
            invokevirtual java.lang.Class.isInterface:()Z
            ifne 12
            aload 4 /* waiClass */
            invokevirtual java.lang.Class.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
            ifne 12
         5: .line 151
            ldc Lorg/springframework/web/WebApplicationInitializer;
            aload 4 /* waiClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 12
         6: .line 153
            aload 3 /* initializers */
         7: .line 154
            aload 4 /* waiClass */
            iconst_0
            anewarray java.lang.Class
            invokestatic org.springframework.util.ReflectionUtils.accessibleConstructor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.web.WebApplicationInitializer
         8: .line 153
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 155
            goto 12
        10: .line 156
      StackMap locals: org.springframework.web.SpringServletContainerInitializer java.util.Set javax.servlet.ServletContext java.util.List java.lang.Class java.util.Iterator
      StackMap stack: java.lang.Throwable
            astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        11: .line 157
            new javax.servlet.ServletException
            dup
            ldc "Failed to instantiate WebApplicationInitializer class"
            aload 6 /* ex */
            invokespecial javax.servlet.ServletException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable ex
        end local 4 // java.lang.Class waiClass
        12: .line 147
      StackMap locals: org.springframework.web.SpringServletContainerInitializer java.util.Set javax.servlet.ServletContext java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        13: .line 163
      StackMap locals: org.springframework.web.SpringServletContainerInitializer java.util.Set javax.servlet.ServletContext java.util.List
      StackMap stack:
            aload 3 /* initializers */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 16
        14: .line 164
            aload 2 /* servletContext */
            ldc "No Spring WebApplicationInitializer types detected on classpath"
            invokeinterface javax.servlet.ServletContext.log:(Ljava/lang/String;)V
        15: .line 165
            return
        16: .line 168
      StackMap locals:
      StackMap stack:
            aload 2 /* servletContext */
            new java.lang.StringBuilder
            dup
            aload 3 /* initializers */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " Spring WebApplicationInitializers detected on classpath"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface javax.servlet.ServletContext.log:(Ljava/lang/String;)V
        17: .line 169
            aload 3 /* initializers */
            invokestatic org.springframework.core.annotation.AnnotationAwareOrderComparator.sort:(Ljava/util/List;)V
        18: .line 170
            aload 3 /* initializers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 21
      StackMap locals: org.springframework.web.SpringServletContainerInitializer java.util.Set javax.servlet.ServletContext java.util.List top java.util.Iterator
      StackMap stack:
        19: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.web.WebApplicationInitializer
            astore 4 /* initializer */
        start local 4 // org.springframework.web.WebApplicationInitializer initializer
        20: .line 171
            aload 4 /* initializer */
            aload 2 /* servletContext */
            invokeinterface org.springframework.web.WebApplicationInitializer.onStartup:(Ljavax/servlet/ServletContext;)V
        end local 4 // org.springframework.web.WebApplicationInitializer initializer
        21: .line 170
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 173
            return
        end local 3 // java.util.List initializers
        end local 2 // javax.servlet.ServletContext servletContext
        end local 1 // java.util.Set webAppInitializerClasses
        end local 0 // org.springframework.web.SpringServletContainerInitializer this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   23     0                      this  Lorg/springframework/web/SpringServletContainerInitializer;
            0   23     1  webAppInitializerClasses  Ljava/util/Set<Ljava/lang/Class<*>;>;
            0   23     2            servletContext  Ljavax/servlet/ServletContext;
            1   23     3              initializers  Ljava/util/List<Lorg/springframework/web/WebApplicationInitializer;>;
            4   12     4                  waiClass  Ljava/lang/Class<*>;
           11   12     6                        ex  Ljava/lang/Throwable;
           20   21     4               initializer  Lorg/springframework/web/WebApplicationInitializer;
      Exception table:
        from    to  target  type
           6     9      10  Class java.lang.Throwable
    Exceptions:
      throws javax.servlet.ServletException
    Signature: (Ljava/util/Set<Ljava/lang/Class<*>;>;Ljavax/servlet/ServletContext;)V
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
                          Name  Flags
      webAppInitializerClasses  
      servletContext            
}
SourceFile: "SpringServletContainerInitializer.java"
    RuntimeVisibleAnnotations: 
      javax.servlet.annotation.HandlesTypes(value = {Lorg/springframework/web/WebApplicationInitializer;})