class java.net.URL$2 implements java.util.Iterator<java.net.spi.URLStreamHandlerProvider>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.net.URL$2
  super_class: java.lang.Object
{
  java.lang.ClassLoader cl;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0000) 

  java.util.ServiceLoader<java.net.spi.URLStreamHandlerProvider> sl;
    descriptor: Ljava/util/ServiceLoader;
    flags: (0x0000) 
    Signature: Ljava/util/ServiceLoader<Ljava/net/spi/URLStreamHandlerProvider;>;

  java.util.Iterator<java.net.spi.URLStreamHandlerProvider> i;
    descriptor: Ljava/util/Iterator;
    flags: (0x0000) 
    Signature: Ljava/util/Iterator<Ljava/net/spi/URLStreamHandlerProvider;>;

  java.net.spi.URLStreamHandlerProvider next;
    descriptor: Ljava/net/spi/URLStreamHandlerProvider;
    flags: (0x0000) 

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.net.URL$2 this
         0: .line 1277
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1279
            aload 0 /* this */
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            putfield java.net.URL$2.cl:Ljava/lang/ClassLoader;
         2: .line 1280
            aload 0 /* this */
         3: .line 1281
            ldc Ljava/net/spi/URLStreamHandlerProvider;
            aload 0 /* this */
            getfield java.net.URL$2.cl:Ljava/lang/ClassLoader;
            invokestatic java.util.ServiceLoader.load:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
            putfield java.net.URL$2.sl:Ljava/util/ServiceLoader;
         4: .line 1282
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URL$2.sl:Ljava/util/ServiceLoader;
            invokevirtual java.util.ServiceLoader.iterator:()Ljava/util/Iterator;
            putfield java.net.URL$2.i:Ljava/util/Iterator;
         5: .line 1284
            aload 0 /* this */
            aconst_null
            putfield java.net.URL$2.next:Ljava/net/spi/URLStreamHandlerProvider;
         6: .line 1277
            return
        end local 0 // java.net.URL$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/net/URL$2;

  private boolean getNext();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.URL$2 this
         0: .line 1287
            goto 9
         1: .line 1289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URL$2.i:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         2: .line 1290
            iconst_0
            ireturn
         3: .line 1291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.net.URL$2.i:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.spi.URLStreamHandlerProvider
            putfield java.net.URL$2.next:Ljava/net/spi/URLStreamHandlerProvider;
         4: .line 1292
            goto 9
      StackMap locals:
      StackMap stack: java.util.ServiceConfigurationError
         5: astore 1 /* sce */
        start local 1 // java.util.ServiceConfigurationError sce
         6: .line 1293
            aload 1 /* sce */
            invokevirtual java.util.ServiceConfigurationError.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.SecurityException
            ifeq 8
         7: .line 1295
            goto 9
         8: .line 1297
      StackMap locals: java.util.ServiceConfigurationError
      StackMap stack:
            aload 1 /* sce */
            athrow
        end local 1 // java.util.ServiceConfigurationError sce
         9: .line 1287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URL$2.next:Ljava/net/spi/URLStreamHandlerProvider;
            ifnull 1
        10: .line 1300
            iconst_1
            ireturn
        end local 0 // java.net.URL$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljava/net/URL$2;
            6    9     1   sce  Ljava/util/ServiceConfigurationError;
      Exception table:
        from    to  target  type
           1     2       5  Class java.util.ServiceConfigurationError
           3     4       5  Class java.util.ServiceConfigurationError

  public boolean hasNext();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.net.URL$2 this
         0: .line 1304
            aload 0 /* this */
            invokevirtual java.net.URL$2.getNext:()Z
            ireturn
        end local 0 // java.net.URL$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URL$2;

  public java.net.spi.URLStreamHandlerProvider next();
    descriptor: ()Ljava/net/spi/URLStreamHandlerProvider;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.net.URL$2 this
         0: .line 1308
            aload 0 /* this */
            invokevirtual java.net.URL$2.getNext:()Z
            ifne 2
         1: .line 1309
            new java.util.NoSuchElementException
            dup
            invokespecial java.util.NoSuchElementException.<init>:()V
            athrow
         2: .line 1310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URL$2.next:Ljava/net/spi/URLStreamHandlerProvider;
            astore 1 /* n */
        start local 1 // java.net.spi.URLStreamHandlerProvider n
         3: .line 1311
            aload 0 /* this */
            aconst_null
            putfield java.net.URL$2.next:Ljava/net/spi/URLStreamHandlerProvider;
         4: .line 1312
            aload 1 /* n */
            areturn
        end local 1 // java.net.spi.URLStreamHandlerProvider n
        end local 0 // java.net.URL$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/net/URL$2;
            3    5     1     n  Ljava/net/spi/URLStreamHandlerProvider;

  public java.lang.Object next();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.net.URL$2.next:()Ljava/net/spi/URLStreamHandlerProvider;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/Iterator<Ljava/net/spi/URLStreamHandlerProvider;>;
SourceFile: "URL.java"
EnclosingMethod: java.net.URL.providers:()Ljava/util/Iterator;
NestHost: java.net.URL
InnerClasses:
  java.net.URL$2