public class org.springframework.boot.ResourceBanner implements org.springframework.boot.Banner
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.boot.ResourceBanner
  super_class: java.lang.Object
{
  private static final org.apache.commons.logging.Log logger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.springframework.core.io.Resource resource;
    descriptor: Lorg/springframework/core/io/Resource;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 52
            ldc Lorg/springframework/boot/ResourceBanner;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.springframework.boot.ResourceBanner.logger:Lorg/apache/commons/logging/Log;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.springframework.core.io.Resource);
    descriptor: (Lorg/springframework/core/io/Resource;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // org.springframework.core.io.Resource resource
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 1 /* resource */
            ldc "Resource must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 58
            aload 1 /* resource */
            invokeinterface org.springframework.core.io.Resource.exists:()Z
            ldc "Resource must exist"
            invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
         3: .line 59
            aload 0 /* this */
            aload 1 /* resource */
            putfield org.springframework.boot.ResourceBanner.resource:Lorg/springframework/core/io/Resource;
         4: .line 60
            return
        end local 1 // org.springframework.core.io.Resource resource
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/springframework/boot/ResourceBanner;
            0    5     1  resource  Lorg/springframework/core/io/Resource;
    MethodParameters:
          Name  Flags
      resource  

  public void printBanner(org.springframework.core.env.Environment, java.lang.Class<?>, java.io.PrintStream);
    descriptor: (Lorg/springframework/core/env/Environment;Ljava/lang/Class;Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // org.springframework.core.env.Environment environment
        start local 2 // java.lang.Class sourceClass
        start local 3 // java.io.PrintStream out
         0: .line 65
            aload 0 /* this */
            getfield org.springframework.boot.ResourceBanner.resource:Lorg/springframework/core/io/Resource;
            invokeinterface org.springframework.core.io.Resource.getInputStream:()Ljava/io/InputStream;
         1: .line 66
            aload 1 /* environment */
            ldc "spring.banner.charset"
            ldc Ljava/nio/charset/Charset;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokeinterface org.springframework.core.env.Environment.getProperty:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.nio.charset.Charset
         2: .line 65
            invokestatic org.springframework.util.StreamUtils.copyToString:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)Ljava/lang/String;
            astore 4 /* banner */
        start local 4 // java.lang.String banner
         3: .line 68
            aload 0 /* this */
            aload 1 /* environment */
            aload 2 /* sourceClass */
            invokevirtual org.springframework.boot.ResourceBanner.getPropertyResolvers:(Lorg/springframework/core/env/Environment;Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.springframework.boot.ResourceBanner org.springframework.core.env.Environment java.lang.Class java.io.PrintStream java.lang.String top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.core.env.PropertyResolver
            astore 5 /* resolver */
        start local 5 // org.springframework.core.env.PropertyResolver resolver
         5: .line 69
            aload 5 /* resolver */
            aload 4 /* banner */
            invokeinterface org.springframework.core.env.PropertyResolver.resolvePlaceholders:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* banner */
        end local 5 // org.springframework.core.env.PropertyResolver resolver
         6: .line 68
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 71
            aload 3 /* out */
            aload 4 /* banner */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.lang.String banner
         8: .line 72
            goto 15
         9: .line 73
      StackMap locals: org.springframework.boot.ResourceBanner org.springframework.core.env.Environment java.lang.Class java.io.PrintStream
      StackMap stack: java.lang.Exception
            astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        10: .line 74
            getstatic org.springframework.boot.ResourceBanner.logger:Lorg/apache/commons/logging/Log;
            ldc "Banner not printable: %s (%s: '%s')"
            aload 0 /* this */
            getfield org.springframework.boot.ResourceBanner.resource:Lorg/springframework/core/io/Resource;
            aload 4 /* ex */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
        11: .line 75
            aload 4 /* ex */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        12: .line 74
            invokestatic org.springframework.core.log.LogMessage.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/springframework/core/log/LogMessage;
        13: .line 75
            aload 4 /* ex */
        14: .line 74
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Exception ex
        15: .line 77
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.PrintStream out
        end local 2 // java.lang.Class sourceClass
        end local 1 // org.springframework.core.env.Environment environment
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/springframework/boot/ResourceBanner;
            0   16     1  environment  Lorg/springframework/core/env/Environment;
            0   16     2  sourceClass  Ljava/lang/Class<*>;
            0   16     3          out  Ljava/io/PrintStream;
            3    8     4       banner  Ljava/lang/String;
            5    6     5     resolver  Lorg/springframework/core/env/PropertyResolver;
           10   15     4           ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     8       9  Class java.lang.Exception
    Signature: (Lorg/springframework/core/env/Environment;Ljava/lang/Class<*>;Ljava/io/PrintStream;)V
    MethodParameters:
             Name  Flags
      environment  
      sourceClass  
      out          

  protected java.util.List<org.springframework.core.env.PropertyResolver> getPropertyResolvers(org.springframework.core.env.Environment, java.lang.Class<?>);
    descriptor: (Lorg/springframework/core/env/Environment;Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // org.springframework.core.env.Environment environment
        start local 2 // java.lang.Class sourceClass
         0: .line 80
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* resolvers */
        start local 3 // java.util.List resolvers
         1: .line 81
            aload 3 /* resolvers */
            aload 1 /* environment */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 82
            aload 3 /* resolvers */
            aload 0 /* this */
            aload 2 /* sourceClass */
            invokevirtual org.springframework.boot.ResourceBanner.getVersionResolver:(Ljava/lang/Class;)Lorg/springframework/core/env/PropertyResolver;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 83
            aload 3 /* resolvers */
            aload 0 /* this */
            invokevirtual org.springframework.boot.ResourceBanner.getAnsiResolver:()Lorg/springframework/core/env/PropertyResolver;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 84
            aload 3 /* resolvers */
            aload 0 /* this */
            aload 2 /* sourceClass */
            invokevirtual org.springframework.boot.ResourceBanner.getTitleResolver:(Ljava/lang/Class;)Lorg/springframework/core/env/PropertyResolver;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 85
            aload 3 /* resolvers */
            areturn
        end local 3 // java.util.List resolvers
        end local 2 // java.lang.Class sourceClass
        end local 1 // org.springframework.core.env.Environment environment
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/springframework/boot/ResourceBanner;
            0    6     1  environment  Lorg/springframework/core/env/Environment;
            0    6     2  sourceClass  Ljava/lang/Class<*>;
            1    6     3    resolvers  Ljava/util/List<Lorg/springframework/core/env/PropertyResolver;>;
    Signature: (Lorg/springframework/core/env/Environment;Ljava/lang/Class<*>;)Ljava/util/List<Lorg/springframework/core/env/PropertyResolver;>;
    MethodParameters:
             Name  Flags
      environment  
      sourceClass  

  private org.springframework.core.env.PropertyResolver getVersionResolver(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/springframework/core/env/PropertyResolver;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // java.lang.Class sourceClass
         0: .line 89
            new org.springframework.core.env.MutablePropertySources
            dup
            invokespecial org.springframework.core.env.MutablePropertySources.<init>:()V
            astore 2 /* propertySources */
        start local 2 // org.springframework.core.env.MutablePropertySources propertySources
         1: .line 90
            aload 2 /* propertySources */
            new org.springframework.core.env.MapPropertySource
            dup
            ldc "version"
            aload 0 /* this */
            aload 1 /* sourceClass */
            invokevirtual org.springframework.boot.ResourceBanner.getVersionsMap:(Ljava/lang/Class;)Ljava/util/Map;
            invokespecial org.springframework.core.env.MapPropertySource.<init>:(Ljava/lang/String;Ljava/util/Map;)V
            invokevirtual org.springframework.core.env.MutablePropertySources.addLast:(Lorg/springframework/core/env/PropertySource;)V
         2: .line 91
            new org.springframework.core.env.PropertySourcesPropertyResolver
            dup
            aload 2 /* propertySources */
            invokespecial org.springframework.core.env.PropertySourcesPropertyResolver.<init>:(Lorg/springframework/core/env/PropertySources;)V
            areturn
        end local 2 // org.springframework.core.env.MutablePropertySources propertySources
        end local 1 // java.lang.Class sourceClass
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/springframework/boot/ResourceBanner;
            0    3     1      sourceClass  Ljava/lang/Class<*>;
            1    3     2  propertySources  Lorg/springframework/core/env/MutablePropertySources;
    Signature: (Ljava/lang/Class<*>;)Lorg/springframework/core/env/PropertyResolver;
    MethodParameters:
             Name  Flags
      sourceClass  

  private java.util.Map<java.lang.String, java.lang.Object> getVersionsMap(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // java.lang.Class sourceClass
         0: .line 95
            aload 0 /* this */
            aload 1 /* sourceClass */
            invokevirtual org.springframework.boot.ResourceBanner.getApplicationVersion:(Ljava/lang/Class;)Ljava/lang/String;
            astore 2 /* appVersion */
        start local 2 // java.lang.String appVersion
         1: .line 96
            aload 0 /* this */
            invokevirtual org.springframework.boot.ResourceBanner.getBootVersion:()Ljava/lang/String;
            astore 3 /* bootVersion */
        start local 3 // java.lang.String bootVersion
         2: .line 97
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* versions */
        start local 4 // java.util.Map versions
         3: .line 98
            aload 4 /* versions */
            ldc "application.version"
            aload 0 /* this */
            aload 2 /* appVersion */
            iconst_0
            invokevirtual org.springframework.boot.ResourceBanner.getVersionString:(Ljava/lang/String;Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 99
            aload 4 /* versions */
            ldc "spring-boot.version"
            aload 0 /* this */
            aload 3 /* bootVersion */
            iconst_0
            invokevirtual org.springframework.boot.ResourceBanner.getVersionString:(Ljava/lang/String;Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 100
            aload 4 /* versions */
            ldc "application.formatted-version"
            aload 0 /* this */
            aload 2 /* appVersion */
            iconst_1
            invokevirtual org.springframework.boot.ResourceBanner.getVersionString:(Ljava/lang/String;Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 101
            aload 4 /* versions */
            ldc "spring-boot.formatted-version"
            aload 0 /* this */
            aload 3 /* bootVersion */
            iconst_1
            invokevirtual org.springframework.boot.ResourceBanner.getVersionString:(Ljava/lang/String;Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 102
            aload 4 /* versions */
            areturn
        end local 4 // java.util.Map versions
        end local 3 // java.lang.String bootVersion
        end local 2 // java.lang.String appVersion
        end local 1 // java.lang.Class sourceClass
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/springframework/boot/ResourceBanner;
            0    8     1  sourceClass  Ljava/lang/Class<*>;
            1    8     2   appVersion  Ljava/lang/String;
            2    8     3  bootVersion  Ljava/lang/String;
            3    8     4     versions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/lang/Class<*>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
             Name  Flags
      sourceClass  

  protected java.lang.String getApplicationVersion(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // java.lang.Class sourceClass
         0: .line 106
            aload 1 /* sourceClass */
            ifnull 1
            aload 1 /* sourceClass */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Package
         2: astore 2 /* sourcePackage */
        start local 2 // java.lang.Package sourcePackage
         3: .line 107
            aload 2 /* sourcePackage */
            ifnull 4
            aload 2 /* sourcePackage */
            invokevirtual java.lang.Package.getImplementationVersion:()Ljava/lang/String;
            goto 5
      StackMap locals: java.lang.Package
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 2 // java.lang.Package sourcePackage
        end local 1 // java.lang.Class sourceClass
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/springframework/boot/ResourceBanner;
            0    6     1    sourceClass  Ljava/lang/Class<*>;
            3    6     2  sourcePackage  Ljava/lang/Package;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
             Name  Flags
      sourceClass  

  protected java.lang.String getBootVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.ResourceBanner this
         0: .line 111
            invokestatic org.springframework.boot.SpringBootVersion.getVersion:()Ljava/lang/String;
            areturn
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/ResourceBanner;

  private java.lang.String getVersionString(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // java.lang.String version
        start local 2 // boolean format
         0: .line 115
            aload 1 /* version */
            ifnonnull 2
         1: .line 116
            ldc ""
            areturn
         2: .line 118
      StackMap locals:
      StackMap stack:
            iload 2 /* format */
            ifeq 3
            new java.lang.StringBuilder
            dup
            ldc " (v"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* version */
            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;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 1 /* version */
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
        end local 2 // boolean format
        end local 1 // java.lang.String version
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/springframework/boot/ResourceBanner;
            0    5     1  version  Ljava/lang/String;
            0    5     2   format  Z
    MethodParameters:
         Name  Flags
      version  
      format   

  private org.springframework.core.env.PropertyResolver getAnsiResolver();
    descriptor: ()Lorg/springframework/core/env/PropertyResolver;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.springframework.boot.ResourceBanner this
         0: .line 122
            new org.springframework.core.env.MutablePropertySources
            dup
            invokespecial org.springframework.core.env.MutablePropertySources.<init>:()V
            astore 1 /* sources */
        start local 1 // org.springframework.core.env.MutablePropertySources sources
         1: .line 123
            aload 1 /* sources */
            new org.springframework.boot.ansi.AnsiPropertySource
            dup
            ldc "ansi"
            iconst_1
            invokespecial org.springframework.boot.ansi.AnsiPropertySource.<init>:(Ljava/lang/String;Z)V
            invokevirtual org.springframework.core.env.MutablePropertySources.addFirst:(Lorg/springframework/core/env/PropertySource;)V
         2: .line 124
            new org.springframework.core.env.PropertySourcesPropertyResolver
            dup
            aload 1 /* sources */
            invokespecial org.springframework.core.env.PropertySourcesPropertyResolver.<init>:(Lorg/springframework/core/env/PropertySources;)V
            areturn
        end local 1 // org.springframework.core.env.MutablePropertySources sources
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/springframework/boot/ResourceBanner;
            1    3     1  sources  Lorg/springframework/core/env/MutablePropertySources;

  private org.springframework.core.env.PropertyResolver getTitleResolver(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/springframework/core/env/PropertyResolver;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // java.lang.Class sourceClass
         0: .line 128
            new org.springframework.core.env.MutablePropertySources
            dup
            invokespecial org.springframework.core.env.MutablePropertySources.<init>:()V
            astore 2 /* sources */
        start local 2 // org.springframework.core.env.MutablePropertySources sources
         1: .line 129
            aload 0 /* this */
            aload 1 /* sourceClass */
            invokevirtual org.springframework.boot.ResourceBanner.getApplicationTitle:(Ljava/lang/Class;)Ljava/lang/String;
            astore 3 /* applicationTitle */
        start local 3 // java.lang.String applicationTitle
         2: .line 130
            ldc "application.title"
         3: .line 131
            aload 3 /* applicationTitle */
            ifnull 4
            aload 3 /* applicationTitle */
            goto 5
      StackMap locals: org.springframework.boot.ResourceBanner java.lang.Class org.springframework.core.env.MutablePropertySources java.lang.String
      StackMap stack: java.lang.String
         4: ldc ""
         5: .line 130
      StackMap locals: org.springframework.boot.ResourceBanner java.lang.Class org.springframework.core.env.MutablePropertySources java.lang.String
      StackMap stack: java.lang.String java.lang.String
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 4 /* titleMap */
        start local 4 // java.util.Map titleMap
         6: .line 132
            aload 2 /* sources */
            new org.springframework.core.env.MapPropertySource
            dup
            ldc "title"
            aload 4 /* titleMap */
            invokespecial org.springframework.core.env.MapPropertySource.<init>:(Ljava/lang/String;Ljava/util/Map;)V
            invokevirtual org.springframework.core.env.MutablePropertySources.addFirst:(Lorg/springframework/core/env/PropertySource;)V
         7: .line 133
            new org.springframework.core.env.PropertySourcesPropertyResolver
            dup
            aload 2 /* sources */
            invokespecial org.springframework.core.env.PropertySourcesPropertyResolver.<init>:(Lorg/springframework/core/env/PropertySources;)V
            areturn
        end local 4 // java.util.Map titleMap
        end local 3 // java.lang.String applicationTitle
        end local 2 // org.springframework.core.env.MutablePropertySources sources
        end local 1 // java.lang.Class sourceClass
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/springframework/boot/ResourceBanner;
            0    8     1       sourceClass  Ljava/lang/Class<*>;
            1    8     2           sources  Lorg/springframework/core/env/MutablePropertySources;
            2    8     3  applicationTitle  Ljava/lang/String;
            6    8     4          titleMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/lang/Class<*>;)Lorg/springframework/core/env/PropertyResolver;
    MethodParameters:
             Name  Flags
      sourceClass  

  protected java.lang.String getApplicationTitle(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.springframework.boot.ResourceBanner this
        start local 1 // java.lang.Class sourceClass
         0: .line 137
            aload 1 /* sourceClass */
            ifnull 1
            aload 1 /* sourceClass */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Package
         2: astore 2 /* sourcePackage */
        start local 2 // java.lang.Package sourcePackage
         3: .line 138
            aload 2 /* sourcePackage */
            ifnull 4
            aload 2 /* sourcePackage */
            invokevirtual java.lang.Package.getImplementationTitle:()Ljava/lang/String;
            goto 5
      StackMap locals: java.lang.Package
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 2 // java.lang.Package sourcePackage
        end local 1 // java.lang.Class sourceClass
        end local 0 // org.springframework.boot.ResourceBanner this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/springframework/boot/ResourceBanner;
            0    6     1    sourceClass  Ljava/lang/Class<*>;
            3    6     2  sourcePackage  Ljava/lang/Package;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
    MethodParameters:
             Name  Flags
      sourceClass  
}
SourceFile: "ResourceBanner.java"