public class org.springframework.boot.devtools.restart.server.RestartServer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.boot.devtools.restart.server.RestartServer
  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 final org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter sourceDirectoryUrlFilter;
    descriptor: Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.ClassLoader classLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter);
    descriptor: (Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter sourceDirectoryUrlFilter
         0: .line 61
            aload 0 /* this */
            aload 1 /* sourceDirectoryUrlFilter */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokespecial org.springframework.boot.devtools.restart.server.RestartServer.<init>:(Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;Ljava/lang/ClassLoader;)V
         1: .line 62
            return
        end local 1 // org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter sourceDirectoryUrlFilter
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0    2     1  sourceDirectoryUrlFilter  Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;
    MethodParameters:
                          Name  Flags
      sourceDirectoryUrlFilter  

  public void <init>(org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter, java.lang.ClassLoader);
    descriptor: (Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;Ljava/lang/ClassLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter sourceDirectoryUrlFilter
        start local 2 // java.lang.ClassLoader classLoader
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 1 /* sourceDirectoryUrlFilter */
            ldc "SourceDirectoryUrlFilter must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 72
            aload 2 /* classLoader */
            ldc "ClassLoader must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 73
            aload 0 /* this */
            aload 1 /* sourceDirectoryUrlFilter */
            putfield org.springframework.boot.devtools.restart.server.RestartServer.sourceDirectoryUrlFilter:Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;
         4: .line 74
            aload 0 /* this */
            aload 2 /* classLoader */
            putfield org.springframework.boot.devtools.restart.server.RestartServer.classLoader:Ljava/lang/ClassLoader;
         5: .line 75
            return
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter sourceDirectoryUrlFilter
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    6     0                      this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0    6     1  sourceDirectoryUrlFilter  Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;
            0    6     2               classLoader  Ljava/lang/ClassLoader;
    MethodParameters:
                          Name  Flags
      sourceDirectoryUrlFilter  
      classLoader               

  public void updateAndRestart(org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles);
    descriptor: (Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles files
         0: .line 83
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* urls */
        start local 2 // java.util.Set urls
         1: .line 84
            aload 0 /* this */
            invokevirtual org.springframework.boot.devtools.restart.server.RestartServer.getClassLoaderUrls:()Ljava/util/Set;
            astore 3 /* classLoaderUrls */
        start local 3 // java.util.Set classLoaderUrls
         2: .line 85
            aload 1 /* files */
            invokevirtual org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles.getSourceDirectories:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory
            astore 4 /* directory */
        start local 4 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory directory
         4: .line 86
            aload 4 /* directory */
            invokevirtual org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory.getFilesEntrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles java.util.Set java.util.Set org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
         6: .line 87
            aload 3 /* classLoaderUrls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 10
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles java.util.Set java.util.Set org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory java.util.Iterator java.util.Map$Entry java.util.Iterator top java.util.Iterator
      StackMap stack:
         7: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 8 /* url */
        start local 8 // java.net.URL url
         8: .line 88
            aload 0 /* this */
            aload 8 /* url */
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.springframework.boot.devtools.restart.classloader.ClassLoaderFile
            invokevirtual org.springframework.boot.devtools.restart.server.RestartServer.updateFileSystem:(Ljava/net/URL;Ljava/lang/String;Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFile;)Z
            ifeq 10
         9: .line 89
            aload 2 /* urls */
            aload 8 /* url */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.net.URL url
        10: .line 87
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 6 // java.util.Map$Entry entry
        11: .line 86
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles java.util.Set java.util.Set org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        12: .line 93
            aload 2 /* urls */
            aload 0 /* this */
            aload 3 /* classLoaderUrls */
            aload 4 /* directory */
            invokevirtual org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory.getName:()Ljava/lang/String;
            invokevirtual org.springframework.boot.devtools.restart.server.RestartServer.getMatchingUrls:(Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory directory
        13: .line 85
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        14: .line 95
            aload 0 /* this */
            aload 2 /* urls */
            invokevirtual org.springframework.boot.devtools.restart.server.RestartServer.updateTimeStamp:(Ljava/lang/Iterable;)V
        15: .line 96
            aload 0 /* this */
            aload 2 /* urls */
            aload 1 /* files */
            invokevirtual org.springframework.boot.devtools.restart.server.RestartServer.restart:(Ljava/util/Set;Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles;)V
        16: .line 97
            return
        end local 3 // java.util.Set classLoaderUrls
        end local 2 // java.util.Set urls
        end local 1 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles files
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0   17     1            files  Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles;
            1   17     2             urls  Ljava/util/Set<Ljava/net/URL;>;
            2   17     3  classLoaderUrls  Ljava/util/Set<Ljava/net/URL;>;
            4   13     4        directory  Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles$SourceDirectory;
            6   11     6            entry  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFile;>;
            8   10     8              url  Ljava/net/URL;
    MethodParameters:
       Name  Flags
      files  

  private boolean updateFileSystem(java.net.URL, java.lang.String, org.springframework.boot.devtools.restart.classloader.ClassLoaderFile);
    descriptor: (Ljava/net/URL;Ljava/lang/String;Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFile;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // java.net.URL url
        start local 2 // java.lang.String name
        start local 3 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFile classLoaderFile
         0: .line 100
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            invokevirtual org.springframework.boot.devtools.restart.server.RestartServer.isDirectoryUrl:(Ljava/lang/String;)Z
            ifne 2
         1: .line 101
            iconst_0
            ireturn
         2: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* url */
            invokestatic org.springframework.util.ResourceUtils.getFile:(Ljava/net/URL;)Ljava/io/File;
            astore 4 /* directory */
        start local 4 // java.io.File directory
         3: .line 105
            new java.io.File
            dup
            aload 4 /* directory */
            aload 2 /* name */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 5 /* file */
        start local 5 // java.io.File file
         4: .line 106
            aload 5 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 11
            aload 5 /* file */
            invokevirtual java.io.File.canWrite:()Z
            ifeq 11
         5: .line 107
            aload 3 /* classLoaderFile */
            invokevirtual org.springframework.boot.devtools.restart.classloader.ClassLoaderFile.getKind:()Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFile$Kind;
            getstatic org.springframework.boot.devtools.restart.classloader.ClassLoaderFile$Kind.DELETED:Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFile$Kind;
            if_acmpne 8
         6: .line 108
            aload 5 /* file */
            invokevirtual java.io.File.delete:()Z
         7: ireturn
         8: .line 110
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            aload 3 /* classLoaderFile */
            invokevirtual org.springframework.boot.devtools.restart.classloader.ClassLoaderFile.getContents:()[B
            aload 5 /* file */
            invokestatic org.springframework.util.FileCopyUtils.copy:([BLjava/io/File;)V
         9: .line 111
            iconst_1
            ireturn
        end local 5 // java.io.File file
        end local 4 // java.io.File directory
        10: .line 114
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer java.net.URL java.lang.String org.springframework.boot.devtools.restart.classloader.ClassLoaderFile
      StackMap stack: java.io.IOException
            pop
        11: .line 117
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFile classLoaderFile
        end local 2 // java.lang.String name
        end local 1 // java.net.URL url
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0             this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0   12     1              url  Ljava/net/URL;
            0   12     2             name  Ljava/lang/String;
            0   12     3  classLoaderFile  Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFile;
            3   10     4        directory  Ljava/io/File;
            4   10     5             file  Ljava/io/File;
      Exception table:
        from    to  target  type
           2     7      10  Class java.io.IOException
           8     9      10  Class java.io.IOException
    MethodParameters:
                 Name  Flags
      url              
      name             
      classLoaderFile  

  private boolean isDirectoryUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // java.lang.String urlString
         0: .line 121
            aload 1 /* urlString */
            ldc "file:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* urlString */
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String urlString
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0    2     1  urlString  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      urlString  

  private java.util.Set<java.net.URL> getMatchingUrls(java.util.Set<java.net.URL>, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // java.util.Set urls
        start local 2 // java.lang.String sourceDirectory
         0: .line 125
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 3 /* matchingUrls */
        start local 3 // java.util.Set matchingUrls
         1: .line 126
            aload 1 /* urls */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer java.util.Set java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 4 /* url */
        start local 4 // java.net.URL url
         3: .line 127
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.server.RestartServer.sourceDirectoryUrlFilter:Lorg/springframework/boot/devtools/restart/server/SourceDirectoryUrlFilter;
            aload 2 /* sourceDirectory */
            aload 4 /* url */
            invokeinterface org.springframework.boot.devtools.restart.server.SourceDirectoryUrlFilter.isMatch:(Ljava/lang/String;Ljava/net/URL;)Z
            ifeq 7
         4: .line 128
            getstatic org.springframework.boot.devtools.restart.server.RestartServer.logger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 6
         5: .line 129
            getstatic org.springframework.boot.devtools.restart.server.RestartServer.logger:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "URL "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " matched against source directory "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* sourceDirectory */
            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.debug:(Ljava/lang/Object;)V
         6: .line 131
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer java.util.Set java.lang.String java.util.Set java.net.URL java.util.Iterator
      StackMap stack:
            aload 3 /* matchingUrls */
            aload 4 /* url */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.net.URL url
         7: .line 126
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer java.util.Set java.lang.String java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 134
            aload 3 /* matchingUrls */
            areturn
        end local 3 // java.util.Set matchingUrls
        end local 2 // java.lang.String sourceDirectory
        end local 1 // java.util.Set urls
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0    9     1             urls  Ljava/util/Set<Ljava/net/URL;>;
            0    9     2  sourceDirectory  Ljava/lang/String;
            1    9     3     matchingUrls  Ljava/util/Set<Ljava/net/URL;>;
            3    7     4              url  Ljava/net/URL;
    Signature: (Ljava/util/Set<Ljava/net/URL;>;Ljava/lang/String;)Ljava/util/Set<Ljava/net/URL;>;
    MethodParameters:
                 Name  Flags
      urls             
      sourceDirectory  

  private java.util.Set<java.net.URL> getClassLoaderUrls();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
         0: .line 138
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 1 /* urls */
        start local 1 // java.util.Set urls
         1: .line 139
            aload 0 /* this */
            getfield org.springframework.boot.devtools.restart.server.RestartServer.classLoader:Ljava/lang/ClassLoader;
            astore 2 /* classLoader */
        start local 2 // java.lang.ClassLoader classLoader
         2: .line 140
            goto 6
         3: .line 141
      StackMap locals: java.util.Set java.lang.ClassLoader
      StackMap stack:
            aload 2 /* classLoader */
            instanceof java.net.URLClassLoader
            ifeq 5
         4: .line 142
            aload 1 /* urls */
            aload 2 /* classLoader */
            checkcast java.net.URLClassLoader
            invokevirtual java.net.URLClassLoader.getURLs:()[Ljava/net/URL;
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         5: .line 144
      StackMap locals:
      StackMap stack:
            aload 2 /* classLoader */
            invokevirtual java.lang.ClassLoader.getParent:()Ljava/lang/ClassLoader;
            astore 2 /* classLoader */
         6: .line 140
      StackMap locals:
      StackMap stack:
            aload 2 /* classLoader */
            ifnonnull 3
         7: .line 146
            aload 1 /* urls */
            areturn
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.util.Set urls
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            1    8     1         urls  Ljava/util/Set<Ljava/net/URL;>;
            2    8     2  classLoader  Ljava/lang/ClassLoader;
    Signature: ()Ljava/util/Set<Ljava/net/URL;>;

  private void updateTimeStamp(java.lang.Iterable<java.net.URL>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // java.lang.Iterable urls
         0: .line 150
            aload 1 /* urls */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.springframework.boot.devtools.restart.server.RestartServer java.lang.Iterable top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.URL
            astore 2 /* url */
        start local 2 // java.net.URL url
         2: .line 151
            aload 0 /* this */
            aload 2 /* url */
            invokevirtual org.springframework.boot.devtools.restart.server.RestartServer.updateTimeStamp:(Ljava/net/URL;)V
        end local 2 // java.net.URL url
         3: .line 150
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 153
            return
        end local 1 // java.lang.Iterable urls
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0    5     1  urls  Ljava/lang/Iterable<Ljava/net/URL;>;
            2    3     2   url  Ljava/net/URL;
    Signature: (Ljava/lang/Iterable<Ljava/net/URL;>;)V
    MethodParameters:
      Name  Flags
      urls  

  private void updateTimeStamp(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // java.net.URL url
         0: .line 157
            aload 1 /* url */
            invokestatic org.springframework.util.ResourceUtils.extractJarFileURL:(Ljava/net/URL;)Ljava/net/URL;
            astore 2 /* actualUrl */
        start local 2 // java.net.URL actualUrl
         1: .line 158
            aload 2 /* actualUrl */
            ldc "Jar URL"
            invokestatic org.springframework.util.ResourceUtils.getFile:(Ljava/net/URL;Ljava/lang/String;)Ljava/io/File;
            astore 3 /* file */
        start local 3 // java.io.File file
         2: .line 159
            aload 3 /* file */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.io.File.setLastModified:(J)Z
            pop
        end local 3 // java.io.File file
        end local 2 // java.net.URL actualUrl
         3: .line 160
            goto 5
         4: .line 161
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         5: .line 164
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.net.URL url
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0    6     1        url  Ljava/net/URL;
            1    3     2  actualUrl  Ljava/net/URL;
            2    3     3       file  Ljava/io/File;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      url   

  protected void restart(java.util.Set<java.net.URL>, org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles);
    descriptor: (Ljava/util/Set;Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
        start local 1 // java.util.Set urls
        start local 2 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles files
         0: .line 172
            invokestatic org.springframework.boot.devtools.restart.Restarter.getInstance:()Lorg/springframework/boot/devtools/restart/Restarter;
            astore 3 /* restarter */
        start local 3 // org.springframework.boot.devtools.restart.Restarter restarter
         1: .line 173
            aload 3 /* restarter */
            aload 1 /* urls */
            invokevirtual org.springframework.boot.devtools.restart.Restarter.addUrls:(Ljava/util/Collection;)V
         2: .line 174
            aload 3 /* restarter */
            aload 2 /* files */
            invokevirtual org.springframework.boot.devtools.restart.Restarter.addClassLoaderFiles:(Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles;)V
         3: .line 175
            aload 3 /* restarter */
            invokevirtual org.springframework.boot.devtools.restart.Restarter.restart:()V
         4: .line 176
            return
        end local 3 // org.springframework.boot.devtools.restart.Restarter restarter
        end local 2 // org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles files
        end local 1 // java.util.Set urls
        end local 0 // org.springframework.boot.devtools.restart.server.RestartServer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/springframework/boot/devtools/restart/server/RestartServer;
            0    5     1       urls  Ljava/util/Set<Ljava/net/URL;>;
            0    5     2      files  Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles;
            1    5     3  restarter  Lorg/springframework/boot/devtools/restart/Restarter;
    Signature: (Ljava/util/Set<Ljava/net/URL;>;Lorg/springframework/boot/devtools/restart/classloader/ClassLoaderFiles;)V
    MethodParameters:
       Name  Flags
      urls   
      files  
}
SourceFile: "RestartServer.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final Kind = org.springframework.boot.devtools.restart.classloader.ClassLoaderFile$Kind of org.springframework.boot.devtools.restart.classloader.ClassLoaderFile
  public SourceDirectory = org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles$SourceDirectory of org.springframework.boot.devtools.restart.classloader.ClassLoaderFiles