class org.springframework.context.annotation.ConfigurationClassParser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.context.annotation.ConfigurationClassParser
  super_class: java.lang.Object
{
  private static final org.springframework.core.io.support.PropertySourceFactory DEFAULT_PROPERTY_SOURCE_FACTORY;
    descriptor: Lorg/springframework/core/io/support/PropertySourceFactory;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.function.Predicate<java.lang.String> DEFAULT_EXCLUSION_FILTER;
    descriptor: Ljava/util/function/Predicate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/function/Predicate<Ljava/lang/String;>;

  private static final java.util.Comparator<org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder> DEFERRED_IMPORT_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;>;

  private final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.core.type.classreading.MetadataReaderFactory metadataReaderFactory;
    descriptor: Lorg/springframework/core/type/classreading/MetadataReaderFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.beans.factory.parsing.ProblemReporter problemReporter;
    descriptor: Lorg/springframework/beans/factory/parsing/ProblemReporter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.core.env.Environment environment;
    descriptor: Lorg/springframework/core/env/Environment;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.core.io.ResourceLoader resourceLoader;
    descriptor: Lorg/springframework/core/io/ResourceLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.beans.factory.support.BeanDefinitionRegistry registry;
    descriptor: Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.context.annotation.ComponentScanAnnotationParser componentScanParser;
    descriptor: Lorg/springframework/context/annotation/ComponentScanAnnotationParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.context.annotation.ConditionEvaluator conditionEvaluator;
    descriptor: Lorg/springframework/context/annotation/ConditionEvaluator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<org.springframework.context.annotation.ConfigurationClass, org.springframework.context.annotation.ConfigurationClass> configurationClasses;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClass;>;

  private final java.util.Map<java.lang.String, org.springframework.context.annotation.ConfigurationClass> knownSuperclasses;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/springframework/context/annotation/ConfigurationClass;>;

  private final java.util.List<java.lang.String> propertySourceNames;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final org.springframework.context.annotation.ConfigurationClassParser$ImportStack importStack;
    descriptor: Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler deferredImportSelectorHandler;
    descriptor: Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.springframework.context.annotation.ConfigurationClassParser$SourceClass objectSourceClass;
    descriptor: Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 113
            new org.springframework.core.io.support.DefaultPropertySourceFactory
            dup
            invokespecial org.springframework.core.io.support.DefaultPropertySourceFactory.<init>:()V
            putstatic org.springframework.context.annotation.ConfigurationClassParser.DEFAULT_PROPERTY_SOURCE_FACTORY:Lorg/springframework/core/io/support/PropertySourceFactory;
         1: .line 115
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/springframework/context/annotation/ConfigurationClassParser.lambda$1(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            putstatic org.springframework.context.annotation.ConfigurationClassParser.DEFAULT_EXCLUSION_FILTER:Ljava/util/function/Predicate;
         2: .line 119
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  org/springframework/context/annotation/ConfigurationClassParser.lambda$0(Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;)I (6)
                  (Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;)I
         3: .line 118
            putstatic org.springframework.context.annotation.ConfigurationClassParser.DEFERRED_IMPORT_COMPARATOR:Ljava/util/Comparator;
         4: .line 119
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.springframework.core.type.classreading.MetadataReaderFactory, org.springframework.beans.factory.parsing.ProblemReporter, org.springframework.core.env.Environment, org.springframework.core.io.ResourceLoader, org.springframework.beans.factory.support.BeanNameGenerator, org.springframework.beans.factory.support.BeanDefinitionRegistry);
    descriptor: (Lorg/springframework/core/type/classreading/MetadataReaderFactory;Lorg/springframework/beans/factory/parsing/ProblemReporter;Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/beans/factory/support/BeanNameGenerator;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.core.type.classreading.MetadataReaderFactory metadataReaderFactory
        start local 2 // org.springframework.beans.factory.parsing.ProblemReporter problemReporter
        start local 3 // org.springframework.core.env.Environment environment
        start local 4 // org.springframework.core.io.ResourceLoader resourceLoader
        start local 5 // org.springframework.beans.factory.support.BeanNameGenerator componentScanBeanNameGenerator
        start local 6 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
         0: .line 155
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 122
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putfield org.springframework.context.annotation.ConfigurationClassParser.logger:Lorg/apache/commons/logging/Log;
         2: .line 138
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.springframework.context.annotation.ConfigurationClassParser.configurationClasses:Ljava/util/Map;
         3: .line 140
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.springframework.context.annotation.ConfigurationClassParser.knownSuperclasses:Ljava/util/Map;
         4: .line 142
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.springframework.context.annotation.ConfigurationClassParser.propertySourceNames:Ljava/util/List;
         5: .line 144
            aload 0 /* this */
            new org.springframework.context.annotation.ConfigurationClassParser$ImportStack
            dup
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$ImportStack.<init>:()V
            putfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
         6: .line 146
            aload 0 /* this */
            new org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler
            dup
            aload 0 /* this */
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.<init>:(Lorg/springframework/context/annotation/ConfigurationClassParser;)V
            putfield org.springframework.context.annotation.ConfigurationClassParser.deferredImportSelectorHandler:Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHandler;
         7: .line 148
            aload 0 /* this */
            new org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            dup
            aload 0 /* this */
            ldc Ljava/lang/Object;
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$SourceClass.<init>:(Lorg/springframework/context/annotation/ConfigurationClassParser;Ljava/lang/Object;)V
            putfield org.springframework.context.annotation.ConfigurationClassParser.objectSourceClass:Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
         8: .line 159
            aload 0 /* this */
            aload 1 /* metadataReaderFactory */
            putfield org.springframework.context.annotation.ConfigurationClassParser.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
         9: .line 160
            aload 0 /* this */
            aload 2 /* problemReporter */
            putfield org.springframework.context.annotation.ConfigurationClassParser.problemReporter:Lorg/springframework/beans/factory/parsing/ProblemReporter;
        10: .line 161
            aload 0 /* this */
            aload 3 /* environment */
            putfield org.springframework.context.annotation.ConfigurationClassParser.environment:Lorg/springframework/core/env/Environment;
        11: .line 162
            aload 0 /* this */
            aload 4 /* resourceLoader */
            putfield org.springframework.context.annotation.ConfigurationClassParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
        12: .line 163
            aload 0 /* this */
            aload 6 /* registry */
            putfield org.springframework.context.annotation.ConfigurationClassParser.registry:Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
        13: .line 164
            aload 0 /* this */
            new org.springframework.context.annotation.ComponentScanAnnotationParser
            dup
        14: .line 165
            aload 3 /* environment */
            aload 4 /* resourceLoader */
            aload 5 /* componentScanBeanNameGenerator */
            aload 6 /* registry */
            invokespecial org.springframework.context.annotation.ComponentScanAnnotationParser.<init>:(Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/beans/factory/support/BeanNameGenerator;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V
        15: .line 164
            putfield org.springframework.context.annotation.ConfigurationClassParser.componentScanParser:Lorg/springframework/context/annotation/ComponentScanAnnotationParser;
        16: .line 166
            aload 0 /* this */
            new org.springframework.context.annotation.ConditionEvaluator
            dup
            aload 6 /* registry */
            aload 3 /* environment */
            aload 4 /* resourceLoader */
            invokespecial org.springframework.context.annotation.ConditionEvaluator.<init>:(Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;)V
            putfield org.springframework.context.annotation.ConfigurationClassParser.conditionEvaluator:Lorg/springframework/context/annotation/ConditionEvaluator;
        17: .line 167
            return
        end local 6 // org.springframework.beans.factory.support.BeanDefinitionRegistry registry
        end local 5 // org.springframework.beans.factory.support.BeanNameGenerator componentScanBeanNameGenerator
        end local 4 // org.springframework.core.io.ResourceLoader resourceLoader
        end local 3 // org.springframework.core.env.Environment environment
        end local 2 // org.springframework.beans.factory.parsing.ProblemReporter problemReporter
        end local 1 // org.springframework.core.type.classreading.MetadataReaderFactory metadataReaderFactory
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   18     0                            this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   18     1           metadataReaderFactory  Lorg/springframework/core/type/classreading/MetadataReaderFactory;
            0   18     2                 problemReporter  Lorg/springframework/beans/factory/parsing/ProblemReporter;
            0   18     3                     environment  Lorg/springframework/core/env/Environment;
            0   18     4                  resourceLoader  Lorg/springframework/core/io/ResourceLoader;
            0   18     5  componentScanBeanNameGenerator  Lorg/springframework/beans/factory/support/BeanNameGenerator;
            0   18     6                        registry  Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
    MethodParameters:
                                Name  Flags
      metadataReaderFactory           
      problemReporter                 
      environment                     
      resourceLoader                  
      componentScanBeanNameGenerator  
      registry                        

  public void parse(java.util.Set<org.springframework.beans.factory.config.BeanDefinitionHolder>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // java.util.Set configCandidates
         0: .line 171
            aload 1 /* configCandidates */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 17
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.beans.factory.config.BeanDefinitionHolder
            astore 2 /* holder */
        start local 2 // org.springframework.beans.factory.config.BeanDefinitionHolder holder
         2: .line 172
            aload 2 /* holder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanDefinition:()Lorg/springframework/beans/factory/config/BeanDefinition;
            astore 4 /* bd */
        start local 4 // org.springframework.beans.factory.config.BeanDefinition bd
         3: .line 174
            aload 4 /* bd */
            instanceof org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
            ifeq 6
         4: .line 175
            aload 0 /* this */
            aload 4 /* bd */
            checkcast org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
            invokeinterface org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            aload 2 /* holder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanName:()Ljava/lang/String;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.parse:(Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/String;)V
         5: .line 176
            goto 17
         6: .line 177
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.util.Set org.springframework.beans.factory.config.BeanDefinitionHolder java.util.Iterator org.springframework.beans.factory.config.BeanDefinition
      StackMap stack:
            aload 4 /* bd */
            instanceof org.springframework.beans.factory.support.AbstractBeanDefinition
            ifeq 9
            aload 4 /* bd */
            checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
            invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.hasBeanClass:()Z
            ifeq 9
         7: .line 178
            aload 0 /* this */
            aload 4 /* bd */
            checkcast org.springframework.beans.factory.support.AbstractBeanDefinition
            invokevirtual org.springframework.beans.factory.support.AbstractBeanDefinition.getBeanClass:()Ljava/lang/Class;
            aload 2 /* holder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanName:()Ljava/lang/String;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.parse:(Ljava/lang/Class;Ljava/lang/String;)V
         8: .line 179
            goto 17
         9: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* bd */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
            aload 2 /* holder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanName:()Ljava/lang/String;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.parse:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 183
            goto 17
        11: .line 184
      StackMap locals:
      StackMap stack: org.springframework.beans.factory.BeanDefinitionStoreException
            astore 5 /* ex */
        start local 5 // org.springframework.beans.factory.BeanDefinitionStoreException ex
        12: .line 185
            aload 5 /* ex */
            athrow
        end local 5 // org.springframework.beans.factory.BeanDefinitionStoreException ex
        13: .line 187
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* ex */
        start local 5 // java.lang.Throwable ex
        14: .line 188
            new org.springframework.beans.factory.BeanDefinitionStoreException
            dup
        15: .line 189
            new java.lang.StringBuilder
            dup
            ldc "Failed to parse configuration class ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* bd */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* ex */
        16: .line 188
            invokespecial org.springframework.beans.factory.BeanDefinitionStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Throwable ex
        end local 4 // org.springframework.beans.factory.config.BeanDefinition bd
        end local 2 // org.springframework.beans.factory.config.BeanDefinitionHolder holder
        17: .line 171
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        18: .line 193
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.deferredImportSelectorHandler:Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHandler;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process:()V
        19: .line 194
            return
        end local 1 // java.util.Set configCandidates
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   20     1  configCandidates  Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
            2   17     2            holder  Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
            3   17     4                bd  Lorg/springframework/beans/factory/config/BeanDefinition;
           12   13     5                ex  Lorg/springframework/beans/factory/BeanDefinitionStoreException;
           14   17     5                ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    10      11  Class org.springframework.beans.factory.BeanDefinitionStoreException
           3    10      13  Class java.lang.Throwable
    Signature: (Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;)V
    MethodParameters:
                  Name  Flags
      configCandidates  

  protected final void parse(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String beanName
         0: .line 197
            aload 1 /* className */
            ldc "No bean class name for configuration class bean definition"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 198
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
            aload 1 /* className */
            invokeinterface org.springframework.core.type.classreading.MetadataReaderFactory.getMetadataReader:(Ljava/lang/String;)Lorg/springframework/core/type/classreading/MetadataReader;
            astore 3 /* reader */
        start local 3 // org.springframework.core.type.classreading.MetadataReader reader
         2: .line 199
            aload 0 /* this */
            new org.springframework.context.annotation.ConfigurationClass
            dup
            aload 3 /* reader */
            aload 2 /* beanName */
            invokespecial org.springframework.context.annotation.ConfigurationClass.<init>:(Lorg/springframework/core/type/classreading/MetadataReader;Ljava/lang/String;)V
            getstatic org.springframework.context.annotation.ConfigurationClassParser.DEFAULT_EXCLUSION_FILTER:Ljava/util/function/Predicate;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)V
         3: .line 200
            return
        end local 3 // org.springframework.core.type.classreading.MetadataReader reader
        end local 2 // java.lang.String beanName
        end local 1 // java.lang.String className
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    4     1  className  Ljava/lang/String;
            0    4     2   beanName  Ljava/lang/String;
            2    4     3     reader  Lorg/springframework/core/type/classreading/MetadataReader;
    Exceptions:
      throws java.io.IOException
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
           Name  Flags
      className  
      beanName   

  protected final void parse(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // java.lang.Class clazz
        start local 2 // java.lang.String beanName
         0: .line 203
            aload 0 /* this */
            new org.springframework.context.annotation.ConfigurationClass
            dup
            aload 1 /* clazz */
            aload 2 /* beanName */
            invokespecial org.springframework.context.annotation.ConfigurationClass.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
            getstatic org.springframework.context.annotation.ConfigurationClassParser.DEFAULT_EXCLUSION_FILTER:Ljava/util/function/Predicate;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)V
         1: .line 204
            return
        end local 2 // java.lang.String beanName
        end local 1 // java.lang.Class clazz
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    2     1     clazz  Ljava/lang/Class<*>;
            0    2     2  beanName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)V
    MethodParameters:
          Name  Flags
      clazz     
      beanName  

  protected final void parse(org.springframework.core.type.AnnotationMetadata, java.lang.String);
    descriptor: (Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/String;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.core.type.AnnotationMetadata metadata
        start local 2 // java.lang.String beanName
         0: .line 207
            aload 0 /* this */
            new org.springframework.context.annotation.ConfigurationClass
            dup
            aload 1 /* metadata */
            aload 2 /* beanName */
            invokespecial org.springframework.context.annotation.ConfigurationClass.<init>:(Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/String;)V
            getstatic org.springframework.context.annotation.ConfigurationClassParser.DEFAULT_EXCLUSION_FILTER:Ljava/util/function/Predicate;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)V
         1: .line 208
            return
        end local 2 // java.lang.String beanName
        end local 1 // org.springframework.core.type.AnnotationMetadata metadata
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    2     1  metadata  Lorg/springframework/core/type/AnnotationMetadata;
            0    2     2  beanName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      metadata  
      beanName  

  public void validate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
         0: .line 215
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.configurationClasses:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ConfigurationClass
            astore 1 /* configClass */
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
         2: .line 216
            aload 1 /* configClass */
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.problemReporter:Lorg/springframework/beans/factory/parsing/ProblemReporter;
            invokevirtual org.springframework.context.annotation.ConfigurationClass.validate:(Lorg/springframework/beans/factory/parsing/ProblemReporter;)V
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
         3: .line 215
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 218
            return
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            2    3     1  configClass  Lorg/springframework/context/annotation/ConfigurationClass;

  public java.util.Set<org.springframework.context.annotation.ConfigurationClass> getConfigurationClasses();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
         0: .line 221
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.configurationClasses:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            areturn
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/context/annotation/ConfigurationClassParser;
    Signature: ()Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClass;>;

  protected void processConfigurationClass(org.springframework.context.annotation.ConfigurationClass, java.util.function.Predicate<java.lang.String>);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        start local 2 // java.util.function.Predicate filter
         0: .line 226
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.conditionEvaluator:Lorg/springframework/context/annotation/ConditionEvaluator;
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            getstatic org.springframework.context.annotation.ConfigurationCondition$ConfigurationPhase.PARSE_CONFIGURATION:Lorg/springframework/context/annotation/ConfigurationCondition$ConfigurationPhase;
            invokevirtual org.springframework.context.annotation.ConditionEvaluator.shouldSkip:(Lorg/springframework/core/type/AnnotatedTypeMetadata;Lorg/springframework/context/annotation/ConfigurationCondition$ConfigurationPhase;)Z
            ifeq 2
         1: .line 227
            return
         2: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.configurationClasses:Ljava/util/Map;
            aload 1 /* configClass */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ConfigurationClass
            astore 3 /* existingClass */
        start local 3 // org.springframework.context.annotation.ConfigurationClass existingClass
         3: .line 231
            aload 3 /* existingClass */
            ifnull 10
         4: .line 232
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.isImported:()Z
            ifeq 8
         5: .line 233
            aload 3 /* existingClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.isImported:()Z
            ifeq 7
         6: .line 234
            aload 3 /* existingClass */
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.mergeImportedBy:(Lorg/springframework/context/annotation/ConfigurationClass;)V
         7: .line 237
      StackMap locals: org.springframework.context.annotation.ConfigurationClass
      StackMap stack:
            return
         8: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.configurationClasses:Ljava/util/Map;
            aload 1 /* configClass */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 243
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.knownSuperclasses:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* configClass */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Lorg/springframework/context/annotation/ConfigurationClass;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/springframework/context/annotation/ConfigurationClass.equals(Ljava/lang/Object;)Z (5)
                  (Lorg/springframework/context/annotation/ConfigurationClass;)Z
            invokeinterface java.util.Collection.removeIf:(Ljava/util/function/Predicate;)Z
            pop
        10: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* configClass */
            aload 2 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.asSourceClass:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            astore 5 /* sourceClass */
        start local 5 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        11: .line 250
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass java.util.function.Predicate org.springframework.context.annotation.ConfigurationClass top org.springframework.context.annotation.ConfigurationClassParser$SourceClass
      StackMap stack:
            aload 0 /* this */
            aload 1 /* configClass */
            aload 5 /* sourceClass */
            aload 2 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass:(Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            astore 5 /* sourceClass */
        12: .line 252
            aload 5 /* sourceClass */
            ifnonnull 11
        13: .line 254
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.configurationClasses:Ljava/util/Map;
            aload 1 /* configClass */
            aload 1 /* configClass */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 255
            return
        end local 5 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        end local 3 // org.springframework.context.annotation.ConfigurationClass existingClass
        end local 2 // java.util.function.Predicate filter
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   15     1    configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0   15     2         filter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            3   15     3  existingClass  Lorg/springframework/context/annotation/ConfigurationClass;
           11   15     5    sourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      configClass  
      filter       

  protected final org.springframework.context.annotation.ConfigurationClassParser$SourceClass doProcessConfigurationClass(org.springframework.context.annotation.ConfigurationClass, org.springframework.context.annotation.ConfigurationClassParser$SourceClass, java.util.function.Predicate<java.lang.String>);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        start local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        start local 3 // java.util.function.Predicate filter
         0: .line 270
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            ldc Lorg/springframework/stereotype/Component;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.springframework.core.type.AnnotationMetadata.isAnnotated:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 272
            aload 0 /* this */
            aload 1 /* configClass */
            aload 2 /* sourceClass */
            aload 3 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processMemberClasses:(Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/function/Predicate;)V
         2: .line 277
      StackMap locals:
      StackMap stack:
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            ldc Lorg/springframework/context/annotation/PropertySources;
         3: .line 278
            ldc Lorg/springframework/context/annotation/PropertySource;
         4: .line 276
            invokestatic org.springframework.context.annotation.AnnotationConfigUtils.attributesForRepeatable:(Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.core.annotation.AnnotationAttributes
            astore 4 /* propertySource */
        start local 4 // org.springframework.core.annotation.AnnotationAttributes propertySource
         6: .line 279
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.environment:Lorg/springframework/core/env/Environment;
            instanceof org.springframework.core.env.ConfigurableEnvironment
            ifeq 9
         7: .line 280
            aload 0 /* this */
            aload 4 /* propertySource */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processPropertySource:(Lorg/springframework/core/annotation/AnnotationAttributes;)V
         8: .line 281
            goto 12
         9: .line 283
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate org.springframework.core.annotation.AnnotationAttributes java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Ignoring @PropertySource annotation on ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 284
            ldc "]. Reason: Environment must implement ConfigurableEnvironment"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 283
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
        end local 4 // org.springframework.core.annotation.AnnotationAttributes propertySource
        12: .line 276
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 290
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            ldc Lorg/springframework/context/annotation/ComponentScans;
            ldc Lorg/springframework/context/annotation/ComponentScan;
        14: .line 289
            invokestatic org.springframework.context.annotation.AnnotationConfigUtils.attributesForRepeatable:(Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
            astore 4 /* componentScans */
        start local 4 // java.util.Set componentScans
        15: .line 291
            aload 4 /* componentScans */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 30
        16: .line 292
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.conditionEvaluator:Lorg/springframework/context/annotation/ConditionEvaluator;
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            getstatic org.springframework.context.annotation.ConfigurationCondition$ConfigurationPhase.REGISTER_BEAN:Lorg/springframework/context/annotation/ConfigurationCondition$ConfigurationPhase;
            invokevirtual org.springframework.context.annotation.ConditionEvaluator.shouldSkip:(Lorg/springframework/core/type/AnnotatedTypeMetadata;Lorg/springframework/context/annotation/ConfigurationCondition$ConfigurationPhase;)Z
            ifne 30
        17: .line 293
            aload 4 /* componentScans */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 29
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set top java.util.Iterator
      StackMap stack:
        18: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.core.annotation.AnnotationAttributes
            astore 5 /* componentScan */
        start local 5 // org.springframework.core.annotation.AnnotationAttributes componentScan
        19: .line 296
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.componentScanParser:Lorg/springframework/context/annotation/ComponentScanAnnotationParser;
            aload 5 /* componentScan */
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            invokevirtual org.springframework.context.annotation.ComponentScanAnnotationParser.parse:(Lorg/springframework/core/annotation/AnnotationAttributes;Ljava/lang/String;)Ljava/util/Set;
        20: .line 295
            astore 7 /* scannedBeanDefinitions */
        start local 7 // java.util.Set scannedBeanDefinitions
        21: .line 298
            aload 7 /* scannedBeanDefinitions */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 28
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set org.springframework.core.annotation.AnnotationAttributes java.util.Iterator java.util.Set top java.util.Iterator
      StackMap stack:
        22: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.beans.factory.config.BeanDefinitionHolder
            astore 8 /* holder */
        start local 8 // org.springframework.beans.factory.config.BeanDefinitionHolder holder
        23: .line 299
            aload 8 /* holder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanDefinition:()Lorg/springframework/beans/factory/config/BeanDefinition;
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getOriginatingBeanDefinition:()Lorg/springframework/beans/factory/config/BeanDefinition;
            astore 10 /* bdCand */
        start local 10 // org.springframework.beans.factory.config.BeanDefinition bdCand
        24: .line 300
            aload 10 /* bdCand */
            ifnonnull 26
        25: .line 301
            aload 8 /* holder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanDefinition:()Lorg/springframework/beans/factory/config/BeanDefinition;
            astore 10 /* bdCand */
        26: .line 303
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set org.springframework.core.annotation.AnnotationAttributes java.util.Iterator java.util.Set org.springframework.beans.factory.config.BeanDefinitionHolder java.util.Iterator org.springframework.beans.factory.config.BeanDefinition
      StackMap stack:
            aload 10 /* bdCand */
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
            invokestatic org.springframework.context.annotation.ConfigurationClassUtils.checkConfigurationClassCandidate:(Lorg/springframework/beans/factory/config/BeanDefinition;Lorg/springframework/core/type/classreading/MetadataReaderFactory;)Z
            ifeq 28
        27: .line 304
            aload 0 /* this */
            aload 10 /* bdCand */
            invokeinterface org.springframework.beans.factory.config.BeanDefinition.getBeanClassName:()Ljava/lang/String;
            aload 8 /* holder */
            invokevirtual org.springframework.beans.factory.config.BeanDefinitionHolder.getBeanName:()Ljava/lang/String;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.parse:(Ljava/lang/String;Ljava/lang/String;)V
        end local 10 // org.springframework.beans.factory.config.BeanDefinition bdCand
        end local 8 // org.springframework.beans.factory.config.BeanDefinitionHolder holder
        28: .line 298
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set org.springframework.core.annotation.AnnotationAttributes java.util.Iterator java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 7 // java.util.Set scannedBeanDefinitions
        end local 5 // org.springframework.core.annotation.AnnotationAttributes componentScan
        29: .line 293
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        30: .line 311
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set
      StackMap stack:
            aload 0 /* this */
            aload 1 /* configClass */
            aload 2 /* sourceClass */
            aload 0 /* this */
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.getImports:(Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)Ljava/util/Set;
            aload 3 /* filter */
            iconst_1
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processImports:(Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Collection;Ljava/util/function/Predicate;Z)V
        31: .line 315
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            ldc Lorg/springframework/context/annotation/ImportResource;
            invokestatic org.springframework.context.annotation.AnnotationConfigUtils.attributesFor:(Lorg/springframework/core/type/AnnotatedTypeMetadata;Ljava/lang/Class;)Lorg/springframework/core/annotation/AnnotationAttributes;
        32: .line 314
            astore 5 /* importResource */
        start local 5 // org.springframework.core.annotation.AnnotationAttributes importResource
        33: .line 316
            aload 5 /* importResource */
            ifnull 42
        34: .line 317
            aload 5 /* importResource */
            ldc "locations"
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* resources */
        start local 6 // java.lang.String[] resources
        35: .line 318
            aload 5 /* importResource */
            ldc "reader"
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.getClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* readerClass */
        start local 7 // java.lang.Class readerClass
        36: .line 319
            aload 6 /* resources */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 41
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set org.springframework.core.annotation.AnnotationAttributes java.lang.String[] java.lang.Class top int int java.lang.String[]
      StackMap stack:
        37: aload 11
            iload 9
            aaload
            astore 8 /* resource */
        start local 8 // java.lang.String resource
        38: .line 320
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.environment:Lorg/springframework/core/env/Environment;
            aload 8 /* resource */
            invokeinterface org.springframework.core.env.Environment.resolveRequiredPlaceholders:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* resolvedResource */
        start local 12 // java.lang.String resolvedResource
        39: .line 321
            aload 1 /* configClass */
            aload 12 /* resolvedResource */
            aload 7 /* readerClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.addImportedResource:(Ljava/lang/String;Ljava/lang/Class;)V
        end local 12 // java.lang.String resolvedResource
        end local 8 // java.lang.String resource
        40: .line 319
            iinc 9 1
      StackMap locals:
      StackMap stack:
        41: iload 9
            iload 10
            if_icmplt 37
        end local 7 // java.lang.Class readerClass
        end local 6 // java.lang.String[] resources
        42: .line 326
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set org.springframework.core.annotation.AnnotationAttributes
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata:(Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)Ljava/util/Set;
            astore 6 /* beanMethods */
        start local 6 // java.util.Set beanMethods
        43: .line 327
            aload 6 /* beanMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 46
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set org.springframework.core.annotation.AnnotationAttributes java.util.Set top java.util.Iterator
      StackMap stack:
        44: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.core.type.MethodMetadata
            astore 7 /* methodMetadata */
        start local 7 // org.springframework.core.type.MethodMetadata methodMetadata
        45: .line 328
            aload 1 /* configClass */
            new org.springframework.context.annotation.BeanMethod
            dup
            aload 7 /* methodMetadata */
            aload 1 /* configClass */
            invokespecial org.springframework.context.annotation.BeanMethod.<init>:(Lorg/springframework/core/type/MethodMetadata;Lorg/springframework/context/annotation/ConfigurationClass;)V
            invokevirtual org.springframework.context.annotation.ConfigurationClass.addBeanMethod:(Lorg/springframework/context/annotation/BeanMethod;)V
        end local 7 // org.springframework.core.type.MethodMetadata methodMetadata
        46: .line 327
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        47: .line 332
            aload 0 /* this */
            aload 1 /* configClass */
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processInterfaces:(Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)V
        48: .line 335
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.hasSuperClass:()Z
            ifeq 54
        49: .line 336
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getSuperClassName:()Ljava/lang/String;
            astore 7 /* superclass */
        start local 7 // java.lang.String superclass
        50: .line 337
            aload 7 /* superclass */
            ifnull 54
            aload 7 /* superclass */
            ldc "java"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 54
        51: .line 338
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.knownSuperclasses:Ljava/util/Map;
            aload 7 /* superclass */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 54
        52: .line 339
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.knownSuperclasses:Ljava/util/Map;
            aload 7 /* superclass */
            aload 1 /* configClass */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 341
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getSuperClass:()Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            areturn
        end local 7 // java.lang.String superclass
        54: .line 346
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Set org.springframework.core.annotation.AnnotationAttributes java.util.Set
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.util.Set beanMethods
        end local 5 // org.springframework.core.annotation.AnnotationAttributes importResource
        end local 4 // java.util.Set componentScans
        end local 3 // java.util.function.Predicate filter
        end local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   55     0                    this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   55     1             configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0   55     2             sourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            0   55     3                  filter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            6   12     4          propertySource  Lorg/springframework/core/annotation/AnnotationAttributes;
           15   55     4          componentScans  Ljava/util/Set<Lorg/springframework/core/annotation/AnnotationAttributes;>;
           19   29     5           componentScan  Lorg/springframework/core/annotation/AnnotationAttributes;
           21   29     7  scannedBeanDefinitions  Ljava/util/Set<Lorg/springframework/beans/factory/config/BeanDefinitionHolder;>;
           23   28     8                  holder  Lorg/springframework/beans/factory/config/BeanDefinitionHolder;
           24   28    10                  bdCand  Lorg/springframework/beans/factory/config/BeanDefinition;
           33   55     5          importResource  Lorg/springframework/core/annotation/AnnotationAttributes;
           35   42     6               resources  [Ljava/lang/String;
           36   42     7             readerClass  Ljava/lang/Class<+Lorg/springframework/beans/factory/support/BeanDefinitionReader;>;
           38   40     8                resource  Ljava/lang/String;
           39   40    12        resolvedResource  Ljava/lang/String;
           43   55     6             beanMethods  Ljava/util/Set<Lorg/springframework/core/type/MethodMetadata;>;
           45   46     7          methodMetadata  Lorg/springframework/core/type/MethodMetadata;
           50   54     7              superclass  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/function/Predicate<Ljava/lang/String;>;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
             Name  Flags
      configClass  
      sourceClass  
      filter       

  private void processMemberClasses(org.springframework.context.annotation.ConfigurationClass, org.springframework.context.annotation.ConfigurationClassParser$SourceClass, java.util.function.Predicate<java.lang.String>);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/function/Predicate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        start local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        start local 3 // java.util.function.Predicate filter
         0: .line 355
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMemberClasses:()Ljava/util/Collection;
            astore 4 /* memberClasses */
        start local 4 // java.util.Collection memberClasses
         1: .line 356
            aload 4 /* memberClasses */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 23
         2: .line 357
            new java.util.ArrayList
            dup
            aload 4 /* memberClasses */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* candidates */
        start local 5 // java.util.List candidates
         3: .line 358
            aload 4 /* memberClasses */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            astore 6 /* memberClass */
        start local 6 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass memberClass
         5: .line 359
            aload 6 /* memberClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokestatic org.springframework.context.annotation.ConfigurationClassUtils.isConfigurationCandidate:(Lorg/springframework/core/type/AnnotationMetadata;)Z
            ifeq 8
         6: .line 360
            aload 6 /* memberClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 361
            aload 5 /* candidates */
            aload 6 /* memberClass */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass memberClass
         8: .line 358
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 364
            aload 5 /* candidates */
            invokestatic org.springframework.core.OrderComparator.sort:(Ljava/util/List;)V
        10: .line 365
            aload 5 /* candidates */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 22
      StackMap locals:
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            astore 6 /* candidate */
        start local 6 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass candidate
        12: .line 366
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.contains:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 367
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.problemReporter:Lorg/springframework/beans/factory/parsing/ProblemReporter;
            new org.springframework.context.annotation.ConfigurationClassParser$CircularImportProblem
            dup
            aload 1 /* configClass */
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$CircularImportProblem.<init>:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/Deque;)V
            invokeinterface org.springframework.beans.factory.parsing.ProblemReporter.error:(Lorg/springframework/beans/factory/parsing/Problem;)V
        14: .line 368
            goto 22
        15: .line 370
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Collection java.util.List org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.push:(Ljava/lang/Object;)V
        16: .line 372
            aload 0 /* this */
            aload 6 /* candidate */
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.asConfigClass:(Lorg/springframework/context/annotation/ConfigurationClass;)Lorg/springframework/context/annotation/ConfigurationClass;
            aload 3 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)V
        17: .line 373
            goto 21
        18: .line 374
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        19: .line 375
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.pop:()Ljava/lang/Object;
            pop
        20: .line 376
            aload 8
            athrow
        21: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.pop:()Ljava/lang/Object;
            pop
        end local 6 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass candidate
        22: .line 365
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 5 // java.util.List candidates
        23: .line 380
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.function.Predicate java.util.Collection
      StackMap stack:
            return
        end local 4 // java.util.Collection memberClasses
        end local 3 // java.util.function.Predicate filter
        end local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   24     1    configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0   24     2    sourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            0   24     3         filter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            1   24     4  memberClasses  Ljava/util/Collection<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
            3   23     5     candidates  Ljava/util/List<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
            5    8     6    memberClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
           12   22     6      candidate  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
      Exception table:
        from    to  target  type
          16    18      18  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/function/Predicate<Ljava/lang/String;>;)V
    MethodParameters:
             Name  Flags
      configClass  
      sourceClass  
      filter       

  private void processInterfaces(org.springframework.context.annotation.ConfigurationClass, org.springframework.context.annotation.ConfigurationClassParser$SourceClass);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        start local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
         0: .line 386
            aload 2 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getInterfaces:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            astore 3 /* ifc */
        start local 3 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass ifc
         2: .line 387
            aload 0 /* this */
            aload 3 /* ifc */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata:(Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)Ljava/util/Set;
            astore 5 /* beanMethods */
        start local 5 // java.util.Set beanMethods
         3: .line 388
            aload 5 /* beanMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 7
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Iterator java.util.Set top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.core.type.MethodMetadata
            astore 6 /* methodMetadata */
        start local 6 // org.springframework.core.type.MethodMetadata methodMetadata
         5: .line 389
            aload 6 /* methodMetadata */
            invokeinterface org.springframework.core.type.MethodMetadata.isAbstract:()Z
            ifne 7
         6: .line 391
            aload 1 /* configClass */
            new org.springframework.context.annotation.BeanMethod
            dup
            aload 6 /* methodMetadata */
            aload 1 /* configClass */
            invokespecial org.springframework.context.annotation.BeanMethod.<init>:(Lorg/springframework/core/type/MethodMetadata;Lorg/springframework/context/annotation/ConfigurationClass;)V
            invokevirtual org.springframework.context.annotation.ConfigurationClass.addBeanMethod:(Lorg/springframework/context/annotation/BeanMethod;)V
        end local 6 // org.springframework.core.type.MethodMetadata methodMetadata
         7: .line 388
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 394
            aload 0 /* this */
            aload 1 /* configClass */
            aload 3 /* ifc */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processInterfaces:(Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)V
        end local 5 // java.util.Set beanMethods
        end local 3 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass ifc
         9: .line 386
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 396
            return
        end local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   11     1     configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0   11     2     sourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            2    9     3             ifc  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            3    9     5     beanMethods  Ljava/util/Set<Lorg/springframework/core/type/MethodMetadata;>;
            5    7     6  methodMetadata  Lorg/springframework/core/type/MethodMetadata;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      configClass  
      sourceClass  

  private java.util.Set<org.springframework.core.type.MethodMetadata> retrieveBeanMethodMetadata(org.springframework.context.annotation.ConfigurationClassParser$SourceClass);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
         0: .line 402
            aload 1 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            astore 2 /* original */
        start local 2 // org.springframework.core.type.AnnotationMetadata original
         1: .line 403
            aload 2 /* original */
            ldc Lorg/springframework/context/annotation/Bean;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getAnnotatedMethods:(Ljava/lang/String;)Ljava/util/Set;
            astore 3 /* beanMethods */
        start local 3 // java.util.Set beanMethods
         2: .line 404
            aload 3 /* beanMethods */
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmple 22
            aload 2 /* original */
            instanceof org.springframework.core.type.StandardAnnotationMetadata
            ifeq 22
         3: .line 410
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
            aload 2 /* original */
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            invokeinterface org.springframework.core.type.classreading.MetadataReaderFactory.getMetadataReader:(Ljava/lang/String;)Lorg/springframework/core/type/classreading/MetadataReader;
            invokeinterface org.springframework.core.type.classreading.MetadataReader.getAnnotationMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
         4: .line 409
            astore 4 /* asm */
        start local 4 // org.springframework.core.type.AnnotationMetadata asm
         5: .line 411
            aload 4 /* asm */
            ldc Lorg/springframework/context/annotation/Bean;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getAnnotatedMethods:(Ljava/lang/String;)Ljava/util/Set;
            astore 5 /* asmMethods */
        start local 5 // java.util.Set asmMethods
         6: .line 412
            aload 5 /* asmMethods */
            invokeinterface java.util.Set.size:()I
            aload 3 /* beanMethods */
            invokeinterface java.util.Set.size:()I
            if_icmplt 22
         7: .line 413
            new java.util.LinkedHashSet
            dup
            aload 5 /* asmMethods */
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 6 /* selectedMethods */
        start local 6 // java.util.Set selectedMethods
         8: .line 414
            aload 5 /* asmMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 16
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClassParser$SourceClass org.springframework.core.type.AnnotationMetadata java.util.Set org.springframework.core.type.AnnotationMetadata java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.core.type.MethodMetadata
            astore 7 /* asmMethod */
        start local 7 // org.springframework.core.type.MethodMetadata asmMethod
        10: .line 415
            aload 3 /* beanMethods */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 15
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClassParser$SourceClass org.springframework.core.type.AnnotationMetadata java.util.Set org.springframework.core.type.AnnotationMetadata java.util.Set java.util.Set org.springframework.core.type.MethodMetadata java.util.Iterator top java.util.Iterator
      StackMap stack:
        11: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.core.type.MethodMetadata
            astore 9 /* beanMethod */
        start local 9 // org.springframework.core.type.MethodMetadata beanMethod
        12: .line 416
            aload 9 /* beanMethod */
            invokeinterface org.springframework.core.type.MethodMetadata.getMethodName:()Ljava/lang/String;
            aload 7 /* asmMethod */
            invokeinterface org.springframework.core.type.MethodMetadata.getMethodName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 417
            aload 6 /* selectedMethods */
            aload 9 /* beanMethod */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        14: .line 418
            goto 16
        end local 9 // org.springframework.core.type.MethodMetadata beanMethod
        15: .line 415
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 7 // org.springframework.core.type.MethodMetadata asmMethod
        16: .line 414
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClassParser$SourceClass org.springframework.core.type.AnnotationMetadata java.util.Set org.springframework.core.type.AnnotationMetadata java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        17: .line 422
            aload 6 /* selectedMethods */
            invokeinterface java.util.Set.size:()I
            aload 3 /* beanMethods */
            invokeinterface java.util.Set.size:()I
            if_icmpne 22
        18: .line 424
            aload 6 /* selectedMethods */
            astore 3 /* beanMethods */
        end local 6 // java.util.Set selectedMethods
        end local 5 // java.util.Set asmMethods
        end local 4 // org.springframework.core.type.AnnotationMetadata asm
        19: .line 427
            goto 22
        20: .line 428
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClassParser$SourceClass org.springframework.core.type.AnnotationMetadata java.util.Set
      StackMap stack: java.io.IOException
            astore 4 /* ex */
        start local 4 // java.io.IOException ex
        21: .line 429
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.logger:Lorg/apache/commons/logging/Log;
            ldc "Failed to read class file via ASM for determining @Bean method order"
            aload 4 /* ex */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // java.io.IOException ex
        22: .line 433
      StackMap locals:
      StackMap stack:
            aload 3 /* beanMethods */
            areturn
        end local 3 // java.util.Set beanMethods
        end local 2 // org.springframework.core.type.AnnotationMetadata original
        end local 1 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   23     1      sourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            1   23     2         original  Lorg/springframework/core/type/AnnotationMetadata;
            2   23     3      beanMethods  Ljava/util/Set<Lorg/springframework/core/type/MethodMetadata;>;
            5   19     4              asm  Lorg/springframework/core/type/AnnotationMetadata;
            6   19     5       asmMethods  Ljava/util/Set<Lorg/springframework/core/type/MethodMetadata;>;
            8   19     6  selectedMethods  Ljava/util/Set<Lorg/springframework/core/type/MethodMetadata;>;
           10   16     7        asmMethod  Lorg/springframework/core/type/MethodMetadata;
           12   15     9       beanMethod  Lorg/springframework/core/type/MethodMetadata;
           21   22     4               ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3    19      20  Class java.io.IOException
    Signature: (Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)Ljava/util/Set<Lorg/springframework/core/type/MethodMetadata;>;
    MethodParameters:
             Name  Flags
      sourceClass  

  private void processPropertySource(org.springframework.core.annotation.AnnotationAttributes);
    descriptor: (Lorg/springframework/core/annotation/AnnotationAttributes;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.core.annotation.AnnotationAttributes propertySource
         0: .line 443
            aload 1 /* propertySource */
            ldc "name"
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 444
            aload 2 /* name */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifne 3
         2: .line 445
            aconst_null
            astore 2 /* name */
         3: .line 447
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* propertySource */
            ldc "encoding"
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.getString:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* encoding */
        start local 3 // java.lang.String encoding
         4: .line 448
            aload 3 /* encoding */
            invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
            ifne 6
         5: .line 449
            aconst_null
            astore 3 /* encoding */
         6: .line 451
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* propertySource */
            ldc "value"
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.getStringArray:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* locations */
        start local 4 // java.lang.String[] locations
         7: .line 452
            aload 4 /* locations */
            arraylength
            ifle 8
            iconst_1
            goto 9
      StackMap locals: java.lang.String[]
      StackMap stack:
         8: iconst_0
      StackMap locals:
      StackMap stack: int
         9: ldc "At least one @PropertySource(value) location is required"
            invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
        10: .line 453
            aload 1 /* propertySource */
            ldc "ignoreResourceNotFound"
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.getBoolean:(Ljava/lang/String;)Z
            istore 5 /* ignoreResourceNotFound */
        start local 5 // boolean ignoreResourceNotFound
        11: .line 455
            aload 1 /* propertySource */
            ldc "factory"
            invokevirtual org.springframework.core.annotation.AnnotationAttributes.getClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* factoryClass */
        start local 6 // java.lang.Class factoryClass
        12: .line 456
            aload 6 /* factoryClass */
            ldc Lorg/springframework/core/io/support/PropertySourceFactory;
            if_acmpne 14
        13: .line 457
            getstatic org.springframework.context.annotation.ConfigurationClassParser.DEFAULT_PROPERTY_SOURCE_FACTORY:Lorg/springframework/core/io/support/PropertySourceFactory;
            goto 15
      StackMap locals: int java.lang.Class
      StackMap stack:
        14: aload 6 /* factoryClass */
            invokestatic org.springframework.beans.BeanUtils.instantiateClass:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.springframework.core.io.support.PropertySourceFactory
        15: .line 456
      StackMap locals:
      StackMap stack: org.springframework.core.io.support.PropertySourceFactory
            astore 7 /* factory */
        start local 7 // org.springframework.core.io.support.PropertySourceFactory factory
        16: .line 459
            aload 4 /* locations */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 29
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.core.annotation.AnnotationAttributes java.lang.String java.lang.String java.lang.String[] int java.lang.Class org.springframework.core.io.support.PropertySourceFactory top int int java.lang.String[]
      StackMap stack:
        17: aload 11
            iload 9
            aaload
            astore 8 /* location */
        start local 8 // java.lang.String location
        18: .line 461
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.environment:Lorg/springframework/core/env/Environment;
            aload 8 /* location */
            invokeinterface org.springframework.core.env.Environment.resolveRequiredPlaceholders:(Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* resolvedLocation */
        start local 12 // java.lang.String resolvedLocation
        19: .line 462
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            aload 12 /* resolvedLocation */
            invokeinterface org.springframework.core.io.ResourceLoader.getResource:(Ljava/lang/String;)Lorg/springframework/core/io/Resource;
            astore 13 /* resource */
        start local 13 // org.springframework.core.io.Resource resource
        20: .line 463
            aload 0 /* this */
            aload 7 /* factory */
            aload 2 /* name */
            new org.springframework.core.io.support.EncodedResource
            dup
            aload 13 /* resource */
            aload 3 /* encoding */
            invokespecial org.springframework.core.io.support.EncodedResource.<init>:(Lorg/springframework/core/io/Resource;Ljava/lang/String;)V
            invokeinterface org.springframework.core.io.support.PropertySourceFactory.createPropertySource:(Ljava/lang/String;Lorg/springframework/core/io/support/EncodedResource;)Lorg/springframework/core/env/PropertySource;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.addPropertySource:(Lorg/springframework/core/env/PropertySource;)V
        end local 13 // org.springframework.core.io.Resource resource
        end local 12 // java.lang.String resolvedLocation
        21: .line 464
            goto 28
        22: .line 465
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.core.annotation.AnnotationAttributes java.lang.String java.lang.String java.lang.String[] int java.lang.Class org.springframework.core.io.support.PropertySourceFactory java.lang.String int int java.lang.String[]
      StackMap stack: java.lang.Exception
            astore 12 /* ex */
        start local 12 // java.lang.Exception ex
        23: .line 467
            iload 5 /* ignoreResourceNotFound */
            ifeq 27
        24: .line 468
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
            ifeq 28
        25: .line 469
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Properties location ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* location */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] not resolvable: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* ex */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
        26: .line 471
            goto 28
        27: .line 473
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 12 /* ex */
            athrow
        end local 12 // java.lang.Exception ex
        end local 8 // java.lang.String location
        28: .line 459
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.core.annotation.AnnotationAttributes java.lang.String java.lang.String java.lang.String[] int java.lang.Class org.springframework.core.io.support.PropertySourceFactory top int int java.lang.String[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        29: iload 9
            iload 10
            if_icmplt 17
        30: .line 477
            return
        end local 7 // org.springframework.core.io.support.PropertySourceFactory factory
        end local 6 // java.lang.Class factoryClass
        end local 5 // boolean ignoreResourceNotFound
        end local 4 // java.lang.String[] locations
        end local 3 // java.lang.String encoding
        end local 2 // java.lang.String name
        end local 1 // org.springframework.core.annotation.AnnotationAttributes propertySource
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   31     0                    this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   31     1          propertySource  Lorg/springframework/core/annotation/AnnotationAttributes;
            1   31     2                    name  Ljava/lang/String;
            4   31     3                encoding  Ljava/lang/String;
            7   31     4               locations  [Ljava/lang/String;
           11   31     5  ignoreResourceNotFound  Z
           12   31     6            factoryClass  Ljava/lang/Class<+Lorg/springframework/core/io/support/PropertySourceFactory;>;
           16   31     7                 factory  Lorg/springframework/core/io/support/PropertySourceFactory;
           18   28     8                location  Ljava/lang/String;
           19   21    12        resolvedLocation  Ljava/lang/String;
           20   21    13                resource  Lorg/springframework/core/io/Resource;
           23   28    12                      ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          18    21      22  Class java.lang.IllegalArgumentException
          18    21      22  Class java.io.FileNotFoundException
          18    21      22  Class java.net.UnknownHostException
          18    21      22  Class java.net.SocketException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      propertySource  

  private void addPropertySource(org.springframework.core.env.PropertySource<?>);
    descriptor: (Lorg/springframework/core/env/PropertySource;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.core.env.PropertySource propertySource
         0: .line 480
            aload 1 /* propertySource */
            invokevirtual org.springframework.core.env.PropertySource.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 481
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.environment:Lorg/springframework/core/env/Environment;
            checkcast org.springframework.core.env.ConfigurableEnvironment
            invokeinterface org.springframework.core.env.ConfigurableEnvironment.getPropertySources:()Lorg/springframework/core/env/MutablePropertySources;
            astore 3 /* propertySources */
        start local 3 // org.springframework.core.env.MutablePropertySources propertySources
         2: .line 483
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.propertySourceNames:Ljava/util/List;
            aload 2 /* name */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 19
         3: .line 485
            aload 3 /* propertySources */
            aload 2 /* name */
            invokevirtual org.springframework.core.env.MutablePropertySources.get:(Ljava/lang/String;)Lorg/springframework/core/env/PropertySource;
            astore 4 /* existing */
        start local 4 // org.springframework.core.env.PropertySource existing
         4: .line 486
            aload 4 /* existing */
            ifnull 19
         5: .line 487
            aload 1 /* propertySource */
            instanceof org.springframework.core.io.support.ResourcePropertySource
            ifeq 7
         6: .line 488
            aload 1 /* propertySource */
            checkcast org.springframework.core.io.support.ResourcePropertySource
            invokevirtual org.springframework.core.io.support.ResourcePropertySource.withResourceName:()Lorg/springframework/core/io/support/ResourcePropertySource;
            goto 8
      StackMap locals: java.lang.String org.springframework.core.env.MutablePropertySources org.springframework.core.env.PropertySource
      StackMap stack:
         7: aload 1 /* propertySource */
         8: .line 487
      StackMap locals:
      StackMap stack: org.springframework.core.env.PropertySource
            astore 5 /* newSource */
        start local 5 // org.springframework.core.env.PropertySource newSource
         9: .line 489
            aload 4 /* existing */
            instanceof org.springframework.core.env.CompositePropertySource
            ifeq 12
        10: .line 490
            aload 4 /* existing */
            checkcast org.springframework.core.env.CompositePropertySource
            aload 5 /* newSource */
            invokevirtual org.springframework.core.env.CompositePropertySource.addFirstPropertySource:(Lorg/springframework/core/env/PropertySource;)V
        11: .line 491
            goto 18
        12: .line 493
      StackMap locals: org.springframework.core.env.PropertySource
      StackMap stack:
            aload 4 /* existing */
            instanceof org.springframework.core.io.support.ResourcePropertySource
            ifeq 14
        13: .line 494
            aload 4 /* existing */
            checkcast org.springframework.core.io.support.ResourcePropertySource
            invokevirtual org.springframework.core.io.support.ResourcePropertySource.withResourceName:()Lorg/springframework/core/io/support/ResourcePropertySource;
            astore 4 /* existing */
        14: .line 496
      StackMap locals:
      StackMap stack:
            new org.springframework.core.env.CompositePropertySource
            dup
            aload 2 /* name */
            invokespecial org.springframework.core.env.CompositePropertySource.<init>:(Ljava/lang/String;)V
            astore 6 /* composite */
        start local 6 // org.springframework.core.env.CompositePropertySource composite
        15: .line 497
            aload 6 /* composite */
            aload 5 /* newSource */
            invokevirtual org.springframework.core.env.CompositePropertySource.addPropertySource:(Lorg/springframework/core/env/PropertySource;)V
        16: .line 498
            aload 6 /* composite */
            aload 4 /* existing */
            invokevirtual org.springframework.core.env.CompositePropertySource.addPropertySource:(Lorg/springframework/core/env/PropertySource;)V
        17: .line 499
            aload 3 /* propertySources */
            aload 2 /* name */
            aload 6 /* composite */
            invokevirtual org.springframework.core.env.MutablePropertySources.replace:(Ljava/lang/String;Lorg/springframework/core/env/PropertySource;)V
        end local 6 // org.springframework.core.env.CompositePropertySource composite
        18: .line 501
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.springframework.core.env.PropertySource newSource
        end local 4 // org.springframework.core.env.PropertySource existing
        19: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.propertySourceNames:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 22
        20: .line 506
            aload 3 /* propertySources */
            aload 1 /* propertySource */
            invokevirtual org.springframework.core.env.MutablePropertySources.addLast:(Lorg/springframework/core/env/PropertySource;)V
        21: .line 507
            goto 24
        22: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.propertySourceNames:Ljava/util/List;
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.propertySourceNames:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* firstProcessed */
        start local 4 // java.lang.String firstProcessed
        23: .line 510
            aload 3 /* propertySources */
            aload 4 /* firstProcessed */
            aload 1 /* propertySource */
            invokevirtual org.springframework.core.env.MutablePropertySources.addBefore:(Ljava/lang/String;Lorg/springframework/core/env/PropertySource;)V
        end local 4 // java.lang.String firstProcessed
        24: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.propertySourceNames:Ljava/util/List;
            aload 2 /* name */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 513
            return
        end local 3 // org.springframework.core.env.MutablePropertySources propertySources
        end local 2 // java.lang.String name
        end local 1 // org.springframework.core.env.PropertySource propertySource
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   26     1   propertySource  Lorg/springframework/core/env/PropertySource<*>;
            1   26     2             name  Ljava/lang/String;
            2   26     3  propertySources  Lorg/springframework/core/env/MutablePropertySources;
            4   19     4         existing  Lorg/springframework/core/env/PropertySource<*>;
            9   19     5        newSource  Lorg/springframework/core/env/PropertySource<*>;
           15   18     6        composite  Lorg/springframework/core/env/CompositePropertySource;
           23   24     4   firstProcessed  Ljava/lang/String;
    Signature: (Lorg/springframework/core/env/PropertySource<*>;)V
    MethodParameters:
                Name  Flags
      propertySource  

  private java.util.Set<org.springframework.context.annotation.ConfigurationClassParser$SourceClass> getImports(org.springframework.context.annotation.ConfigurationClassParser$SourceClass);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
         0: .line 520
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* imports */
        start local 2 // java.util.Set imports
         1: .line 521
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* visited */
        start local 3 // java.util.Set visited
         2: .line 522
            aload 0 /* this */
            aload 1 /* sourceClass */
            aload 2 /* imports */
            aload 3 /* visited */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.collectImports:(Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Set;Ljava/util/Set;)V
         3: .line 523
            aload 2 /* imports */
            areturn
        end local 3 // java.util.Set visited
        end local 2 // java.util.Set imports
        end local 1 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    4     1  sourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            1    4     2      imports  Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
            2    4     3      visited  Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;)Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
    MethodParameters:
             Name  Flags
      sourceClass  

  private void collectImports(org.springframework.context.annotation.ConfigurationClassParser$SourceClass, java.util.Set<org.springframework.context.annotation.ConfigurationClassParser$SourceClass>, java.util.Set<org.springframework.context.annotation.ConfigurationClassParser$SourceClass>);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Set;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        start local 2 // java.util.Set imports
        start local 3 // java.util.Set visited
         0: .line 542
            aload 3 /* visited */
            aload 1 /* sourceClass */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 8
         1: .line 543
            aload 1 /* sourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotations:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            astore 4 /* annotation */
        start local 4 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass annotation
         3: .line 544
            aload 4 /* annotation */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            astore 6 /* annName */
        start local 6 // java.lang.String annName
         4: .line 545
            aload 6 /* annName */
            ldc Lorg/springframework/context/annotation/Import;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 546
            aload 0 /* this */
            aload 4 /* annotation */
            aload 2 /* imports */
            aload 3 /* visited */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.collectImports:(Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Set;Ljava/util/Set;)V
        end local 6 // java.lang.String annName
        end local 4 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass annotation
         6: .line 543
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 549
            aload 2 /* imports */
            aload 1 /* sourceClass */
            ldc Lorg/springframework/context/annotation/Import;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "value"
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotationAttributes:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Collection;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 551
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Set java.util.Set
      StackMap stack:
            return
        end local 3 // java.util.Set visited
        end local 2 // java.util.Set imports
        end local 1 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass sourceClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    9     1  sourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            0    9     2      imports  Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
            0    9     3      visited  Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
            3    6     4   annotation  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            4    6     6      annName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;Ljava/util/Set<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;)V
    MethodParameters:
             Name  Flags
      sourceClass  
      imports      
      visited      

  private void processImports(org.springframework.context.annotation.ConfigurationClass, org.springframework.context.annotation.ConfigurationClassParser$SourceClass, java.util.Collection<org.springframework.context.annotation.ConfigurationClassParser$SourceClass>, java.util.function.Predicate<java.lang.String>, );
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Collection;Ljava/util/function/Predicate;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=6
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        start local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass currentSourceClass
        start local 3 // java.util.Collection importCandidates
        start local 4 // java.util.function.Predicate exclusionFilter
        start local 5 // boolean checkForCircularImports
         0: .line 557
            aload 3 /* importCandidates */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 558
            return
         2: .line 561
      StackMap locals:
      StackMap stack:
            iload 5 /* checkForCircularImports */
            ifeq 5
            aload 0 /* this */
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.isChainedImportOnStack:(Lorg/springframework/context/annotation/ConfigurationClass;)Z
            ifeq 5
         3: .line 562
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.problemReporter:Lorg/springframework/beans/factory/parsing/ProblemReporter;
            new org.springframework.context.annotation.ConfigurationClassParser$CircularImportProblem
            dup
            aload 1 /* configClass */
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$CircularImportProblem.<init>:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/Deque;)V
            invokeinterface org.springframework.beans.factory.parsing.ProblemReporter.error:(Lorg/springframework/beans/factory/parsing/Problem;)V
         4: .line 563
            goto 50
         5: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.push:(Ljava/lang/Object;)V
         6: .line 567
            aload 3 /* importCandidates */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 35
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Collection java.util.function.Predicate int top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            astore 6 /* candidate */
        start local 6 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass candidate
         8: .line 568
            aload 6 /* candidate */
            ldc Lorg/springframework/context/annotation/ImportSelector;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.isAssignable:(Ljava/lang/Class;)Z
            ifeq 23
         9: .line 570
            aload 6 /* candidate */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.loadClass:()Ljava/lang/Class;
            astore 8 /* candidateClass */
        start local 8 // java.lang.Class candidateClass
        10: .line 571
            aload 8 /* candidateClass */
            ldc Lorg/springframework/context/annotation/ImportSelector;
        11: .line 572
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.environment:Lorg/springframework/core/env/Environment;
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.registry:Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
        12: .line 571
            invokestatic org.springframework.context.annotation.ParserStrategyUtils.instantiateClass:(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ImportSelector
            astore 9 /* selector */
        start local 9 // org.springframework.context.annotation.ImportSelector selector
        13: .line 573
            aload 9 /* selector */
            invokeinterface org.springframework.context.annotation.ImportSelector.getExclusionFilter:()Ljava/util/function/Predicate;
            astore 10 /* selectorFilter */
        start local 10 // java.util.function.Predicate selectorFilter
        14: .line 574
            aload 10 /* selectorFilter */
            ifnull 16
        15: .line 575
            aload 4 /* exclusionFilter */
            aload 10 /* selectorFilter */
            invokeinterface java.util.function.Predicate.or:(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
            astore 4 /* exclusionFilter */
        16: .line 577
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Collection java.util.function.Predicate int org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Iterator java.lang.Class org.springframework.context.annotation.ImportSelector java.util.function.Predicate
      StackMap stack:
            aload 9 /* selector */
            instanceof org.springframework.context.annotation.DeferredImportSelector
            ifeq 19
        17: .line 578
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.deferredImportSelectorHandler:Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHandler;
            aload 1 /* configClass */
            aload 9 /* selector */
            checkcast org.springframework.context.annotation.DeferredImportSelector
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.handle:(Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/DeferredImportSelector;)V
        18: .line 579
            goto 35
        19: .line 581
      StackMap locals:
      StackMap stack:
            aload 9 /* selector */
            aload 2 /* currentSourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.context.annotation.ImportSelector.selectImports:(Lorg/springframework/core/type/AnnotationMetadata;)[Ljava/lang/String;
            astore 11 /* importClassNames */
        start local 11 // java.lang.String[] importClassNames
        20: .line 582
            aload 0 /* this */
            aload 11 /* importClassNames */
            aload 4 /* exclusionFilter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.asSourceClasses:([Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Collection;
            astore 12 /* importSourceClasses */
        start local 12 // java.util.Collection importSourceClasses
        21: .line 583
            aload 0 /* this */
            aload 1 /* configClass */
            aload 2 /* currentSourceClass */
            aload 12 /* importSourceClasses */
            aload 4 /* exclusionFilter */
            iconst_0
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processImports:(Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Collection;Ljava/util/function/Predicate;Z)V
        end local 12 // java.util.Collection importSourceClasses
        end local 11 // java.lang.String[] importClassNames
        end local 10 // java.util.function.Predicate selectorFilter
        end local 9 // org.springframework.context.annotation.ImportSelector selector
        end local 8 // java.lang.Class candidateClass
        22: .line 585
            goto 35
        23: .line 586
      StackMap locals:
      StackMap stack:
            aload 6 /* candidate */
            ldc Lorg/springframework/context/annotation/ImportBeanDefinitionRegistrar;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.isAssignable:(Ljava/lang/Class;)Z
            ifeq 31
        24: .line 589
            aload 6 /* candidate */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.loadClass:()Ljava/lang/Class;
            astore 8 /* candidateClass */
        start local 8 // java.lang.Class candidateClass
        25: .line 591
            aload 8 /* candidateClass */
            ldc Lorg/springframework/context/annotation/ImportBeanDefinitionRegistrar;
        26: .line 592
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.environment:Lorg/springframework/core/env/Environment;
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.registry:Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;
        27: .line 591
            invokestatic org.springframework.context.annotation.ParserStrategyUtils.instantiateClass:(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/env/Environment;Lorg/springframework/core/io/ResourceLoader;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)Ljava/lang/Object;
            checkcast org.springframework.context.annotation.ImportBeanDefinitionRegistrar
        28: .line 590
            astore 9 /* registrar */
        start local 9 // org.springframework.context.annotation.ImportBeanDefinitionRegistrar registrar
        29: .line 593
            aload 1 /* configClass */
            aload 9 /* registrar */
            aload 2 /* currentSourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokevirtual org.springframework.context.annotation.ConfigurationClass.addImportBeanDefinitionRegistrar:(Lorg/springframework/context/annotation/ImportBeanDefinitionRegistrar;Lorg/springframework/core/type/AnnotationMetadata;)V
        end local 9 // org.springframework.context.annotation.ImportBeanDefinitionRegistrar registrar
        end local 8 // java.lang.Class candidateClass
        30: .line 594
            goto 35
        31: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
        32: .line 599
            aload 2 /* currentSourceClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            aload 6 /* candidate */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
        33: .line 598
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.registerImport:(Lorg/springframework/core/type/AnnotationMetadata;Ljava/lang/String;)V
        34: .line 600
            aload 0 /* this */
            aload 6 /* candidate */
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$SourceClass.asConfigClass:(Lorg/springframework/context/annotation/ConfigurationClass;)Lorg/springframework/context/annotation/ConfigurationClass;
            aload 4 /* exclusionFilter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass:(Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)V
        end local 6 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass candidate
        35: .line 567
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Collection java.util.function.Predicate int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        36: .line 603
            goto 49
        37: .line 604
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser org.springframework.context.annotation.ConfigurationClass org.springframework.context.annotation.ConfigurationClassParser$SourceClass java.util.Collection java.util.function.Predicate int
      StackMap stack: org.springframework.beans.factory.BeanDefinitionStoreException
            astore 6 /* ex */
        start local 6 // org.springframework.beans.factory.BeanDefinitionStoreException ex
        38: .line 605
            aload 6 /* ex */
            athrow
        end local 6 // org.springframework.beans.factory.BeanDefinitionStoreException ex
        39: .line 607
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        40: .line 608
            new org.springframework.beans.factory.BeanDefinitionStoreException
            dup
        41: .line 609
            new java.lang.StringBuilder
            dup
            ldc "Failed to process import candidates for configuration class ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        42: .line 610
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 609
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 610
            aload 6 /* ex */
        45: .line 608
            invokespecial org.springframework.beans.factory.BeanDefinitionStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable ex
        46: .line 612
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 13
        47: .line 613
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.pop:()Ljava/lang/Object;
            pop
        48: .line 614
            aload 13
            athrow
        49: .line 613
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.pop:()Ljava/lang/Object;
            pop
        50: .line 616
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean checkForCircularImports
        end local 4 // java.util.function.Predicate exclusionFilter
        end local 3 // java.util.Collection importCandidates
        end local 2 // org.springframework.context.annotation.ConfigurationClassParser$SourceClass currentSourceClass
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   51     0                     this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   51     1              configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0   51     2       currentSourceClass  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            0   51     3         importCandidates  Ljava/util/Collection<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
            0   51     4          exclusionFilter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            0   51     5  checkForCircularImports  Z
            8   35     6                candidate  Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
           10   22     8           candidateClass  Ljava/lang/Class<*>;
           13   22     9                 selector  Lorg/springframework/context/annotation/ImportSelector;
           14   22    10           selectorFilter  Ljava/util/function/Predicate<Ljava/lang/String;>;
           20   22    11         importClassNames  [Ljava/lang/String;
           21   22    12      importSourceClasses  Ljava/util/Collection<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
           25   30     8           candidateClass  Ljava/lang/Class<*>;
           29   30     9                registrar  Lorg/springframework/context/annotation/ImportBeanDefinitionRegistrar;
           38   39     6                       ex  Lorg/springframework/beans/factory/BeanDefinitionStoreException;
           40   46     6                       ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6    36      37  Class org.springframework.beans.factory.BeanDefinitionStoreException
           6    36      39  Class java.lang.Throwable
           6    46      46  any
    Signature: (Lorg/springframework/context/annotation/ConfigurationClass;Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;Ljava/util/Collection<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;Ljava/util/function/Predicate<Ljava/lang/String;>;Z)V
    MethodParameters:
                         Name  Flags
      configClass              
      currentSourceClass       
      importCandidates         
      exclusionFilter          
      checkForCircularImports  

  private boolean isChainedImportOnStack(org.springframework.context.annotation.ConfigurationClass);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configClass
         0: .line 619
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.contains:(Ljava/lang/Object;)Z
            ifeq 8
         1: .line 620
            aload 1 /* configClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            astore 2 /* configClassName */
        start local 2 // java.lang.String configClassName
         2: .line 621
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            aload 2 /* configClassName */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.getImportingClassFor:(Ljava/lang/String;)Lorg/springframework/core/type/AnnotationMetadata;
            astore 3 /* importingClass */
        start local 3 // org.springframework.core.type.AnnotationMetadata importingClass
         3: .line 622
            goto 7
         4: .line 623
      StackMap locals: java.lang.String org.springframework.core.type.AnnotationMetadata
      StackMap stack:
            aload 2 /* configClassName */
            aload 3 /* importingClass */
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 624
            iconst_1
            ireturn
         6: .line 626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            aload 3 /* importingClass */
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$ImportStack.getImportingClassFor:(Ljava/lang/String;)Lorg/springframework/core/type/AnnotationMetadata;
            astore 3 /* importingClass */
         7: .line 622
      StackMap locals:
      StackMap stack:
            aload 3 /* importingClass */
            ifnonnull 4
        end local 3 // org.springframework.core.type.AnnotationMetadata importingClass
        end local 2 // java.lang.String configClassName
         8: .line 629
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.springframework.context.annotation.ConfigurationClass configClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    9     1      configClass  Lorg/springframework/context/annotation/ConfigurationClass;
            2    8     2  configClassName  Ljava/lang/String;
            3    8     3   importingClass  Lorg/springframework/core/type/AnnotationMetadata;
    MethodParameters:
             Name  Flags
      configClass  

  org.springframework.context.annotation.ImportRegistry getImportRegistry();
    descriptor: ()Lorg/springframework/context/annotation/ImportRegistry;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
         0: .line 633
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.importStack:Lorg/springframework/context/annotation/ConfigurationClassParser$ImportStack;
            areturn
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/context/annotation/ConfigurationClassParser;

  private org.springframework.context.annotation.ConfigurationClassParser$SourceClass asSourceClass(org.springframework.context.annotation.ConfigurationClass, java.util.function.Predicate<java.lang.String>);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // org.springframework.context.annotation.ConfigurationClass configurationClass
        start local 2 // java.util.function.Predicate filter
         0: .line 641
            aload 1 /* configurationClass */
            invokevirtual org.springframework.context.annotation.ConfigurationClass.getMetadata:()Lorg/springframework/core/type/AnnotationMetadata;
            astore 3 /* metadata */
        start local 3 // org.springframework.core.type.AnnotationMetadata metadata
         1: .line 642
            aload 3 /* metadata */
            instanceof org.springframework.core.type.StandardAnnotationMetadata
            ifeq 3
         2: .line 643
            aload 0 /* this */
            aload 3 /* metadata */
            checkcast org.springframework.core.type.StandardAnnotationMetadata
            invokevirtual org.springframework.core.type.StandardAnnotationMetadata.getIntrospectedClass:()Ljava/lang/Class;
            aload 2 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.asSourceClass:(Ljava/lang/Class;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            areturn
         3: .line 645
      StackMap locals: org.springframework.core.type.AnnotationMetadata
      StackMap stack:
            aload 0 /* this */
            aload 3 /* metadata */
            invokeinterface org.springframework.core.type.AnnotationMetadata.getClassName:()Ljava/lang/String;
            aload 2 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.asSourceClass:(Ljava/lang/String;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            areturn
        end local 3 // org.springframework.core.type.AnnotationMetadata metadata
        end local 2 // java.util.function.Predicate filter
        end local 1 // org.springframework.context.annotation.ConfigurationClass configurationClass
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    4     1  configurationClass  Lorg/springframework/context/annotation/ConfigurationClass;
            0    4     2              filter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            1    4     3            metadata  Lorg/springframework/core/type/AnnotationMetadata;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/springframework/context/annotation/ConfigurationClass;Ljava/util/function/Predicate<Ljava/lang/String;>;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    MethodParameters:
                    Name  Flags
      configurationClass  
      filter              

  org.springframework.context.annotation.ConfigurationClassParser$SourceClass asSourceClass(java.lang.Class<?>, java.util.function.Predicate<java.lang.String>);
    descriptor: (Ljava/lang/Class;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // java.lang.Class classType
        start local 2 // java.util.function.Predicate filter
         0: .line 652
            aload 1 /* classType */
            ifnull 1
            aload 2 /* filter */
            aload 1 /* classType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.objectSourceClass:Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            areturn
         2: .line 658
      StackMap locals:
      StackMap stack:
            aload 1 /* classType */
            invokevirtual java.lang.Class.getDeclaredAnnotations:()[Ljava/lang/annotation/Annotation;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.lang.Class java.util.function.Predicate top int int java.lang.annotation.Annotation[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* ann */
        start local 3 // java.lang.annotation.Annotation ann
         4: .line 659
            aload 3 /* ann */
            invokestatic org.springframework.core.annotation.AnnotationUtils.validateAnnotation:(Ljava/lang/annotation/Annotation;)V
        end local 3 // java.lang.annotation.Annotation ann
         5: .line 658
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 3
         7: .line 661
            new org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            dup
            aload 0 /* this */
            aload 1 /* classType */
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$SourceClass.<init>:(Lorg/springframework/context/annotation/ConfigurationClassParser;Ljava/lang/Object;)V
         8: areturn
         9: .line 663
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.lang.Class java.util.function.Predicate
      StackMap stack: java.lang.Throwable
            pop
        10: .line 665
            aload 0 /* this */
            aload 1 /* classType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 2 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.asSourceClass:(Ljava/lang/String;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            areturn
        end local 2 // java.util.function.Predicate filter
        end local 1 // java.lang.Class classType
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0   11     1  classType  Ljava/lang/Class<*>;
            0   11     2     filter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            4    5     3        ann  Ljava/lang/annotation/Annotation;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<*>;Ljava/util/function/Predicate<Ljava/lang/String;>;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
           Name  Flags
      classType  
      filter     

  private java.util.Collection<org.springframework.context.annotation.ConfigurationClassParser$SourceClass> asSourceClasses(java.lang.String[], java.util.function.Predicate<java.lang.String>);
    descriptor: ([Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // java.lang.String[] classNames
        start local 2 // java.util.function.Predicate filter
         0: .line 673
            new java.util.ArrayList
            dup
            aload 1 /* classNames */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* annotatedClasses */
        start local 3 // java.util.List annotatedClasses
         1: .line 674
            aload 1 /* classNames */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 5
      StackMap locals: org.springframework.context.annotation.ConfigurationClassParser java.lang.String[] java.util.function.Predicate java.util.List top int int java.lang.String[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* className */
        start local 4 // java.lang.String className
         3: .line 675
            aload 3 /* annotatedClasses */
            aload 0 /* this */
            aload 4 /* className */
            aload 2 /* filter */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser.asSourceClass:(Ljava/lang/String;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String className
         4: .line 674
            iinc 5 1
      StackMap locals:
      StackMap stack:
         5: iload 5
            iload 6
            if_icmplt 2
         6: .line 677
            aload 3 /* annotatedClasses */
            areturn
        end local 3 // java.util.List annotatedClasses
        end local 2 // java.util.function.Predicate filter
        end local 1 // java.lang.String[] classNames
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    7     1        classNames  [Ljava/lang/String;
            0    7     2            filter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            1    7     3  annotatedClasses  Ljava/util/List<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
            3    4     4         className  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: ([Ljava/lang/String;Ljava/util/function/Predicate<Ljava/lang/String;>;)Ljava/util/Collection<Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;>;
    MethodParameters:
            Name  Flags
      classNames  
      filter      

  org.springframework.context.annotation.ConfigurationClassParser$SourceClass asSourceClass(java.lang.String, java.util.function.Predicate<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Predicate;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser this
        start local 1 // java.lang.String className
        start local 2 // java.util.function.Predicate filter
         0: .line 684
            aload 1 /* className */
            ifnull 1
            aload 2 /* filter */
            aload 1 /* className */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.objectSourceClass:Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
            areturn
         2: .line 687
      StackMap locals:
      StackMap stack:
            aload 1 /* className */
            ldc "java"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         3: .line 690
            new org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            dup
            aload 0 /* this */
            aload 1 /* className */
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.resourceLoader:Lorg/springframework/core/io/ResourceLoader;
            invokeinterface org.springframework.core.io.ResourceLoader.getClassLoader:()Ljava/lang/ClassLoader;
            invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$SourceClass.<init>:(Lorg/springframework/context/annotation/ConfigurationClassParser;Ljava/lang/Object;)V
         4: areturn
         5: .line 692
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* ex */
        start local 3 // java.lang.ClassNotFoundException ex
         6: .line 693
            new org.springframework.core.NestedIOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to load class ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
            invokespecial org.springframework.core.NestedIOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.ClassNotFoundException ex
         7: .line 696
      StackMap locals:
      StackMap stack:
            new org.springframework.context.annotation.ConfigurationClassParser$SourceClass
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.context.annotation.ConfigurationClassParser.metadataReaderFactory:Lorg/springframework/core/type/classreading/MetadataReaderFactory;
            aload 1 /* className */
            invokeinterface org.springframework.core.type.classreading.MetadataReaderFactory.getMetadataReader:(Ljava/lang/String;)Lorg/springframework/core/type/classreading/MetadataReader;
            invokespecial org.springframework.context.annotation.ConfigurationClassParser$SourceClass.<init>:(Lorg/springframework/context/annotation/ConfigurationClassParser;Ljava/lang/Object;)V
            areturn
        end local 2 // java.util.function.Predicate filter
        end local 1 // java.lang.String className
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/springframework/context/annotation/ConfigurationClassParser;
            0    8     1  className  Ljava/lang/String;
            0    8     2     filter  Ljava/util/function/Predicate<Ljava/lang/String;>;
            6    7     3         ex  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;Ljava/util/function/Predicate<Ljava/lang/String;>;)Lorg/springframework/context/annotation/ConfigurationClassParser$SourceClass;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
    MethodParameters:
           Name  Flags
      className  
      filter     

  private static boolean lambda$1(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 116
            aload 0 /* className */
            ldc "java.lang.annotation."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* className */
            ldc "org.springframework.stereotype."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  className  Ljava/lang/String;

  private static int lambda$0(org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder, org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder);
    descriptor: (Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder o1
        start local 1 // org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder o2
         0: .line 119
            getstatic org.springframework.core.annotation.AnnotationAwareOrderComparator.INSTANCE:Lorg/springframework/core/annotation/AnnotationAwareOrderComparator;
            aload 0 /* o1 */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder.getImportSelector:()Lorg/springframework/context/annotation/DeferredImportSelector;
            aload 1 /* o2 */
            invokevirtual org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder.getImportSelector:()Lorg/springframework/context/annotation/DeferredImportSelector;
            invokevirtual org.springframework.core.annotation.AnnotationAwareOrderComparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            ireturn
        end local 1 // org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder o2
        end local 0 // org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    o1  Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;
            0    1     1    o2  Lorg/springframework/context/annotation/ConfigurationClassParser$DeferredImportSelectorHolder;
}
SourceFile: "ConfigurationClassParser.java"
NestMembers:
  org.springframework.context.annotation.ConfigurationClassParser$CircularImportProblem  org.springframework.context.annotation.ConfigurationClassParser$DefaultDeferredImportSelectorGroup  org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping  org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler  org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler  org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder  org.springframework.context.annotation.ConfigurationClassParser$ImportStack  org.springframework.context.annotation.ConfigurationClassParser$SourceClass
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private CircularImportProblem = org.springframework.context.annotation.ConfigurationClassParser$CircularImportProblem of org.springframework.context.annotation.ConfigurationClassParser
  private DefaultDeferredImportSelectorGroup = org.springframework.context.annotation.ConfigurationClassParser$DefaultDeferredImportSelectorGroup of org.springframework.context.annotation.ConfigurationClassParser
  private DeferredImportSelectorGrouping = org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping of org.springframework.context.annotation.ConfigurationClassParser
  private DeferredImportSelectorGroupingHandler = org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler of org.springframework.context.annotation.ConfigurationClassParser
  private DeferredImportSelectorHandler = org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler of org.springframework.context.annotation.ConfigurationClassParser
  private DeferredImportSelectorHolder = org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHolder of org.springframework.context.annotation.ConfigurationClassParser
  private ImportStack = org.springframework.context.annotation.ConfigurationClassParser$ImportStack of org.springframework.context.annotation.ConfigurationClassParser
  private SourceClass = org.springframework.context.annotation.ConfigurationClassParser$SourceClass of org.springframework.context.annotation.ConfigurationClassParser
  public final ConfigurationPhase = org.springframework.context.annotation.ConfigurationCondition$ConfigurationPhase of org.springframework.context.annotation.ConfigurationCondition