public final class java.util.Spliterators
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.util.Spliterators
  super_class: java.lang.Object
{
  private static final java.util.Spliterator<java.lang.Object> EMPTY_SPLITERATOR;
    descriptor: Ljava/util/Spliterator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Spliterator<Ljava/lang/Object;>;

  private static final java.util.Spliterator$OfInt EMPTY_INT_SPLITERATOR;
    descriptor: Ljava/util/Spliterator$OfInt;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Spliterator$OfLong EMPTY_LONG_SPLITERATOR;
    descriptor: Ljava/util/Spliterator$OfLong;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Spliterator$OfDouble EMPTY_DOUBLE_SPLITERATOR;
    descriptor: Ljava/util/Spliterator$OfDouble;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 64
            new java.util.Spliterators$EmptySpliterator$OfRef
            dup
            invokespecial java.util.Spliterators$EmptySpliterator$OfRef.<init>:()V
         1: .line 63
            putstatic java.util.Spliterators.EMPTY_SPLITERATOR:Ljava/util/Spliterator;
         2: .line 80
            new java.util.Spliterators$EmptySpliterator$OfInt
            dup
            invokespecial java.util.Spliterators$EmptySpliterator$OfInt.<init>:()V
         3: .line 79
            putstatic java.util.Spliterators.EMPTY_INT_SPLITERATOR:Ljava/util/Spliterator$OfInt;
         4: .line 96
            new java.util.Spliterators$EmptySpliterator$OfLong
            dup
            invokespecial java.util.Spliterators$EmptySpliterator$OfLong.<init>:()V
         5: .line 95
            putstatic java.util.Spliterators.EMPTY_LONG_SPLITERATOR:Ljava/util/Spliterator$OfLong;
         6: .line 112
            new java.util.Spliterators$EmptySpliterator$OfDouble
            dup
            invokespecial java.util.Spliterators$EmptySpliterator$OfDouble.<init>:()V
         7: .line 111
            putstatic java.util.Spliterators.EMPTY_DOUBLE_SPLITERATOR:Ljava/util/Spliterator$OfDouble;
         8: .line 112
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Spliterators this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.util.Spliterators this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Spliterators;

  public static <T> java.util.Spliterator<T> emptySpliterator();
    descriptor: ()Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 60
            getstatic java.util.Spliterators.EMPTY_SPLITERATOR:Ljava/util/Spliterator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/Spliterator<TT;>;

  public static java.util.Spliterator$OfInt emptyIntSpliterator();
    descriptor: ()Ljava/util/Spliterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 76
            getstatic java.util.Spliterators.EMPTY_INT_SPLITERATOR:Ljava/util/Spliterator$OfInt;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.Spliterator$OfLong emptyLongSpliterator();
    descriptor: ()Ljava/util/Spliterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 92
            getstatic java.util.Spliterators.EMPTY_LONG_SPLITERATOR:Ljava/util/Spliterator$OfLong;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static java.util.Spliterator$OfDouble emptyDoubleSpliterator();
    descriptor: ()Ljava/util/Spliterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 108
            getstatic java.util.Spliterators.EMPTY_DOUBLE_SPLITERATOR:Ljava/util/Spliterator$OfDouble;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static <T> java.util.Spliterator<T> spliterator([], int);
    descriptor: ([Ljava/lang/Object;I)Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object[] array
        start local 1 // int additionalCharacteristics
         0: .line 142
            new java.util.Spliterators$ArraySpliterator
            dup
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Object[]
         1: .line 143
            iload 1 /* additionalCharacteristics */
         2: .line 142
            invokespecial java.util.Spliterators$ArraySpliterator.<init>:([Ljava/lang/Object;I)V
            areturn
        end local 1 // int additionalCharacteristics
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    3     0                      array  [Ljava/lang/Object;
            0    3     1  additionalCharacteristics  I
    Signature: <T:Ljava/lang/Object;>([Ljava/lang/Object;I)Ljava/util/Spliterator<TT;>;
    MethodParameters:
                           Name  Flags
      array                      
      additionalCharacteristics  

  public static <T> java.util.Spliterator<T> spliterator([], int, int, int);
    descriptor: ([Ljava/lang/Object;III)Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Object[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // int additionalCharacteristics
         0: .line 177
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Object[]
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Spliterators.checkFromToBounds:(III)V
         1: .line 178
            new java.util.Spliterators$ArraySpliterator
            dup
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* additionalCharacteristics */
            invokespecial java.util.Spliterators$ArraySpliterator.<init>:([Ljava/lang/Object;III)V
            areturn
        end local 3 // int additionalCharacteristics
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // java.lang.Object[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                      array  [Ljava/lang/Object;
            0    2     1                  fromIndex  I
            0    2     2                    toIndex  I
            0    2     3  additionalCharacteristics  I
    Signature: <T:Ljava/lang/Object;>([Ljava/lang/Object;III)Ljava/util/Spliterator<TT;>;
    MethodParameters:
                           Name  Flags
      array                      
      fromIndex                  
      toIndex                    
      additionalCharacteristics  

  public static java.util.Spliterator$OfInt spliterator(int[], int);
    descriptor: ([II)Ljava/util/Spliterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // int[] array
        start local 1 // int additionalCharacteristics
         0: .line 206
            new java.util.Spliterators$IntArraySpliterator
            dup
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            iload 1 /* additionalCharacteristics */
            invokespecial java.util.Spliterators$IntArraySpliterator.<init>:([II)V
            areturn
        end local 1 // int additionalCharacteristics
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    1     0                      array  [I
            0    1     1  additionalCharacteristics  I
    MethodParameters:
                           Name  Flags
      array                      
      additionalCharacteristics  

  public static java.util.Spliterator$OfInt spliterator(int[], int, int, int);
    descriptor: ([IIII)Ljava/util/Spliterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // int[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // int additionalCharacteristics
         0: .line 239
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast int[]
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Spliterators.checkFromToBounds:(III)V
         1: .line 240
            new java.util.Spliterators$IntArraySpliterator
            dup
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* additionalCharacteristics */
            invokespecial java.util.Spliterators$IntArraySpliterator.<init>:([IIII)V
            areturn
        end local 3 // int additionalCharacteristics
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // int[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                      array  [I
            0    2     1                  fromIndex  I
            0    2     2                    toIndex  I
            0    2     3  additionalCharacteristics  I
    MethodParameters:
                           Name  Flags
      array                      
      fromIndex                  
      toIndex                    
      additionalCharacteristics  

  public static java.util.Spliterator$OfLong spliterator(long[], int);
    descriptor: ([JI)Ljava/util/Spliterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // long[] array
        start local 1 // int additionalCharacteristics
         0: .line 268
            new java.util.Spliterators$LongArraySpliterator
            dup
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast long[]
            iload 1 /* additionalCharacteristics */
            invokespecial java.util.Spliterators$LongArraySpliterator.<init>:([JI)V
            areturn
        end local 1 // int additionalCharacteristics
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    1     0                      array  [J
            0    1     1  additionalCharacteristics  I
    MethodParameters:
                           Name  Flags
      array                      
      additionalCharacteristics  

  public static java.util.Spliterator$OfLong spliterator(long[], int, int, int);
    descriptor: ([JIII)Ljava/util/Spliterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // long[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // int additionalCharacteristics
         0: .line 305
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast long[]
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Spliterators.checkFromToBounds:(III)V
         1: .line 306
            new java.util.Spliterators$LongArraySpliterator
            dup
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* additionalCharacteristics */
            invokespecial java.util.Spliterators$LongArraySpliterator.<init>:([JIII)V
            areturn
        end local 3 // int additionalCharacteristics
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // long[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                      array  [J
            0    2     1                  fromIndex  I
            0    2     2                    toIndex  I
            0    2     3  additionalCharacteristics  I
    MethodParameters:
                           Name  Flags
      array                      
      fromIndex                  
      toIndex                    
      additionalCharacteristics  

  public static java.util.Spliterator$OfDouble spliterator(double[], int);
    descriptor: ([DI)Ljava/util/Spliterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // double[] array
        start local 1 // int additionalCharacteristics
         0: .line 334
            new java.util.Spliterators$DoubleArraySpliterator
            dup
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast double[]
            iload 1 /* additionalCharacteristics */
            invokespecial java.util.Spliterators$DoubleArraySpliterator.<init>:([DI)V
            areturn
        end local 1 // int additionalCharacteristics
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    1     0                      array  [D
            0    1     1  additionalCharacteristics  I
    MethodParameters:
                           Name  Flags
      array                      
      additionalCharacteristics  

  public static java.util.Spliterator$OfDouble spliterator(double[], int, int, int);
    descriptor: ([DIII)Ljava/util/Spliterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // double[] array
        start local 1 // int fromIndex
        start local 2 // int toIndex
        start local 3 // int additionalCharacteristics
         0: .line 371
            aload 0 /* array */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast double[]
            arraylength
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            invokestatic java.util.Spliterators.checkFromToBounds:(III)V
         1: .line 372
            new java.util.Spliterators$DoubleArraySpliterator
            dup
            aload 0 /* array */
            iload 1 /* fromIndex */
            iload 2 /* toIndex */
            iload 3 /* additionalCharacteristics */
            invokespecial java.util.Spliterators$DoubleArraySpliterator.<init>:([DIII)V
            areturn
        end local 3 // int additionalCharacteristics
        end local 2 // int toIndex
        end local 1 // int fromIndex
        end local 0 // double[] array
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                      array  [D
            0    2     1                  fromIndex  I
            0    2     2                    toIndex  I
            0    2     3  additionalCharacteristics  I
    MethodParameters:
                           Name  Flags
      array                      
      fromIndex                  
      toIndex                    
      additionalCharacteristics  

  private static void checkFromToBounds(int, int, int);
    descriptor: (III)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int arrayLength
        start local 1 // int origin
        start local 2 // int fence
         0: .line 386
            iload 1 /* origin */
            iload 2 /* fence */
            if_icmple 4
         1: .line 387
            new java.lang.ArrayIndexOutOfBoundsException
            dup
         2: .line 388
            new java.lang.StringBuilder
            dup
            ldc "origin("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* origin */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") > fence("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* fence */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 387
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 390
      StackMap locals:
      StackMap stack:
            iload 1 /* origin */
            ifge 6
         5: .line 391
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            iload 1 /* origin */
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
            athrow
         6: .line 393
      StackMap locals:
      StackMap stack:
            iload 2 /* fence */
            iload 0 /* arrayLength */
            if_icmple 8
         7: .line 394
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            iload 2 /* fence */
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
            athrow
         8: .line 396
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int fence
        end local 1 // int origin
        end local 0 // int arrayLength
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0  arrayLength  I
            0    9     1       origin  I
            0    9     2        fence  I
    MethodParameters:
             Name  Flags
      arrayLength  
      origin       
      fence        

  public static <T> java.util.Spliterator<T> spliterator(java.util.Collection<? extends T>, int);
    descriptor: (Ljava/util/Collection;I)Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Collection c
        start local 1 // int characteristics
         0: .line 420
            new java.util.Spliterators$IteratorSpliterator
            dup
            aload 0 /* c */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Collection
         1: .line 421
            iload 1 /* characteristics */
         2: .line 420
            invokespecial java.util.Spliterators$IteratorSpliterator.<init>:(Ljava/util/Collection;I)V
            areturn
        end local 1 // int characteristics
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0                c  Ljava/util/Collection<+TT;>;
            0    3     1  characteristics  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<+TT;>;I)Ljava/util/Spliterator<TT;>;
    MethodParameters:
                 Name  Flags
      c                
      characteristics  

  public static <T> java.util.Spliterator<T> spliterator(java.util.Iterator<? extends T>, long, int);
    descriptor: (Ljava/util/Iterator;JI)Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.util.Iterator iterator
        start local 1 // long size
        start local 3 // int characteristics
         0: .line 451
            new java.util.Spliterators$IteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Iterator
            lload 1 /* size */
         1: .line 452
            iload 3 /* characteristics */
         2: .line 451
            invokespecial java.util.Spliterators$IteratorSpliterator.<init>:(Ljava/util/Iterator;JI)V
            areturn
        end local 3 // int characteristics
        end local 1 // long size
        end local 0 // java.util.Iterator iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0         iterator  Ljava/util/Iterator<+TT;>;
            0    3     1             size  J
            0    3     3  characteristics  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Iterator<+TT;>;JI)Ljava/util/Spliterator<TT;>;
    MethodParameters:
                 Name  Flags
      iterator         
      size             
      characteristics  

  public static <T> java.util.Spliterator<T> spliteratorUnknownSize(java.util.Iterator<? extends T>, int);
    descriptor: (Ljava/util/Iterator;I)Ljava/util/Spliterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Iterator iterator
        start local 1 // int characteristics
         0: .line 478
            new java.util.Spliterators$IteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Iterator
            iload 1 /* characteristics */
            invokespecial java.util.Spliterators$IteratorSpliterator.<init>:(Ljava/util/Iterator;I)V
            areturn
        end local 1 // int characteristics
        end local 0 // java.util.Iterator iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0         iterator  Ljava/util/Iterator<+TT;>;
            0    1     1  characteristics  I
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Iterator<+TT;>;I)Ljava/util/Spliterator<TT;>;
    MethodParameters:
                 Name  Flags
      iterator         
      characteristics  

  public static java.util.Spliterator$OfInt spliterator(java.util.PrimitiveIterator$OfInt, long, int);
    descriptor: (Ljava/util/PrimitiveIterator$OfInt;JI)Ljava/util/Spliterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.util.PrimitiveIterator$OfInt iterator
        start local 1 // long size
        start local 3 // int characteristics
         0: .line 508
            new java.util.Spliterators$IntIteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.PrimitiveIterator$OfInt
         1: .line 509
            lload 1 /* size */
            iload 3 /* characteristics */
         2: .line 508
            invokespecial java.util.Spliterators$IntIteratorSpliterator.<init>:(Ljava/util/PrimitiveIterator$OfInt;JI)V
            areturn
        end local 3 // int characteristics
        end local 1 // long size
        end local 0 // java.util.PrimitiveIterator$OfInt iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0         iterator  Ljava/util/PrimitiveIterator$OfInt;
            0    3     1             size  J
            0    3     3  characteristics  I
    MethodParameters:
                 Name  Flags
      iterator         
      size             
      characteristics  

  public static java.util.Spliterator$OfInt spliteratorUnknownSize(java.util.PrimitiveIterator$OfInt, int);
    descriptor: (Ljava/util/PrimitiveIterator$OfInt;I)Ljava/util/Spliterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.PrimitiveIterator$OfInt iterator
        start local 1 // int characteristics
         0: .line 535
            new java.util.Spliterators$IntIteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.PrimitiveIterator$OfInt
            iload 1 /* characteristics */
            invokespecial java.util.Spliterators$IntIteratorSpliterator.<init>:(Ljava/util/PrimitiveIterator$OfInt;I)V
            areturn
        end local 1 // int characteristics
        end local 0 // java.util.PrimitiveIterator$OfInt iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0         iterator  Ljava/util/PrimitiveIterator$OfInt;
            0    1     1  characteristics  I
    MethodParameters:
                 Name  Flags
      iterator         
      characteristics  

  public static java.util.Spliterator$OfLong spliterator(java.util.PrimitiveIterator$OfLong, long, int);
    descriptor: (Ljava/util/PrimitiveIterator$OfLong;JI)Ljava/util/Spliterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.util.PrimitiveIterator$OfLong iterator
        start local 1 // long size
        start local 3 // int characteristics
         0: .line 565
            new java.util.Spliterators$LongIteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.PrimitiveIterator$OfLong
         1: .line 566
            lload 1 /* size */
            iload 3 /* characteristics */
         2: .line 565
            invokespecial java.util.Spliterators$LongIteratorSpliterator.<init>:(Ljava/util/PrimitiveIterator$OfLong;JI)V
            areturn
        end local 3 // int characteristics
        end local 1 // long size
        end local 0 // java.util.PrimitiveIterator$OfLong iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0         iterator  Ljava/util/PrimitiveIterator$OfLong;
            0    3     1             size  J
            0    3     3  characteristics  I
    MethodParameters:
                 Name  Flags
      iterator         
      size             
      characteristics  

  public static java.util.Spliterator$OfLong spliteratorUnknownSize(java.util.PrimitiveIterator$OfLong, int);
    descriptor: (Ljava/util/PrimitiveIterator$OfLong;I)Ljava/util/Spliterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.PrimitiveIterator$OfLong iterator
        start local 1 // int characteristics
         0: .line 592
            new java.util.Spliterators$LongIteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.PrimitiveIterator$OfLong
            iload 1 /* characteristics */
            invokespecial java.util.Spliterators$LongIteratorSpliterator.<init>:(Ljava/util/PrimitiveIterator$OfLong;I)V
            areturn
        end local 1 // int characteristics
        end local 0 // java.util.PrimitiveIterator$OfLong iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0         iterator  Ljava/util/PrimitiveIterator$OfLong;
            0    1     1  characteristics  I
    MethodParameters:
                 Name  Flags
      iterator         
      characteristics  

  public static java.util.Spliterator$OfDouble spliterator(java.util.PrimitiveIterator$OfDouble, long, int);
    descriptor: (Ljava/util/PrimitiveIterator$OfDouble;JI)Ljava/util/Spliterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // java.util.PrimitiveIterator$OfDouble iterator
        start local 1 // long size
        start local 3 // int characteristics
         0: .line 622
            new java.util.Spliterators$DoubleIteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.PrimitiveIterator$OfDouble
         1: .line 623
            lload 1 /* size */
            iload 3 /* characteristics */
         2: .line 622
            invokespecial java.util.Spliterators$DoubleIteratorSpliterator.<init>:(Ljava/util/PrimitiveIterator$OfDouble;JI)V
            areturn
        end local 3 // int characteristics
        end local 1 // long size
        end local 0 // java.util.PrimitiveIterator$OfDouble iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0         iterator  Ljava/util/PrimitiveIterator$OfDouble;
            0    3     1             size  J
            0    3     3  characteristics  I
    MethodParameters:
                 Name  Flags
      iterator         
      size             
      characteristics  

  public static java.util.Spliterator$OfDouble spliteratorUnknownSize(java.util.PrimitiveIterator$OfDouble, int);
    descriptor: (Ljava/util/PrimitiveIterator$OfDouble;I)Ljava/util/Spliterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.PrimitiveIterator$OfDouble iterator
        start local 1 // int characteristics
         0: .line 649
            new java.util.Spliterators$DoubleIteratorSpliterator
            dup
            aload 0 /* iterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.PrimitiveIterator$OfDouble
            iload 1 /* characteristics */
            invokespecial java.util.Spliterators$DoubleIteratorSpliterator.<init>:(Ljava/util/PrimitiveIterator$OfDouble;I)V
            areturn
        end local 1 // int characteristics
        end local 0 // java.util.PrimitiveIterator$OfDouble iterator
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0         iterator  Ljava/util/PrimitiveIterator$OfDouble;
            0    1     1  characteristics  I
    MethodParameters:
                 Name  Flags
      iterator         
      characteristics  

  public static <T> java.util.Iterator<T> iterator(java.util.Spliterator<? extends T>);
    descriptor: (Ljava/util/Spliterator;)Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Spliterator spliterator
         0: .line 667
            aload 0 /* spliterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 696
            new java.util.Spliterators$1Adapter
            dup
            aload 0 /* spliterator */
            invokespecial java.util.Spliterators$1Adapter.<init>:(Ljava/util/Spliterator;)V
            areturn
        end local 0 // java.util.Spliterator spliterator
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  spliterator  Ljava/util/Spliterator<+TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Spliterator<+TT;>;)Ljava/util/Iterator<TT;>;
    MethodParameters:
             Name  Flags
      spliterator  

  public static java.util.PrimitiveIterator$OfInt iterator(java.util.Spliterator$OfInt);
    descriptor: (Ljava/util/Spliterator$OfInt;)Ljava/util/PrimitiveIterator$OfInt;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Spliterator$OfInt spliterator
         0: .line 712
            aload 0 /* spliterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 741
            new java.util.Spliterators$2Adapter
            dup
            aload 0 /* spliterator */
            invokespecial java.util.Spliterators$2Adapter.<init>:(Ljava/util/Spliterator$OfInt;)V
            areturn
        end local 0 // java.util.Spliterator$OfInt spliterator
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  spliterator  Ljava/util/Spliterator$OfInt;
    MethodParameters:
             Name  Flags
      spliterator  

  public static java.util.PrimitiveIterator$OfLong iterator(java.util.Spliterator$OfLong);
    descriptor: (Ljava/util/Spliterator$OfLong;)Ljava/util/PrimitiveIterator$OfLong;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Spliterator$OfLong spliterator
         0: .line 757
            aload 0 /* spliterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 786
            new java.util.Spliterators$3Adapter
            dup
            aload 0 /* spliterator */
            invokespecial java.util.Spliterators$3Adapter.<init>:(Ljava/util/Spliterator$OfLong;)V
            areturn
        end local 0 // java.util.Spliterator$OfLong spliterator
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  spliterator  Ljava/util/Spliterator$OfLong;
    MethodParameters:
             Name  Flags
      spliterator  

  public static java.util.PrimitiveIterator$OfDouble iterator(java.util.Spliterator$OfDouble);
    descriptor: (Ljava/util/Spliterator$OfDouble;)Ljava/util/PrimitiveIterator$OfDouble;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Spliterator$OfDouble spliterator
         0: .line 802
            aload 0 /* spliterator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 831
            new java.util.Spliterators$4Adapter
            dup
            aload 0 /* spliterator */
            invokespecial java.util.Spliterators$4Adapter.<init>:(Ljava/util/Spliterator$OfDouble;)V
            areturn
        end local 0 // java.util.Spliterator$OfDouble spliterator
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  spliterator  Ljava/util/Spliterator$OfDouble;
    MethodParameters:
             Name  Flags
      spliterator  
}
SourceFile: "Spliterators.java"
NestMembers:
  java.util.Spliterators$1Adapter  java.util.Spliterators$2Adapter  java.util.Spliterators$3Adapter  java.util.Spliterators$4Adapter  java.util.Spliterators$AbstractDoubleSpliterator  java.util.Spliterators$AbstractDoubleSpliterator$HoldingDoubleConsumer  java.util.Spliterators$AbstractIntSpliterator  java.util.Spliterators$AbstractIntSpliterator$HoldingIntConsumer  java.util.Spliterators$AbstractLongSpliterator  java.util.Spliterators$AbstractLongSpliterator$HoldingLongConsumer  java.util.Spliterators$AbstractSpliterator  java.util.Spliterators$AbstractSpliterator$HoldingConsumer  java.util.Spliterators$ArraySpliterator  java.util.Spliterators$DoubleArraySpliterator  java.util.Spliterators$DoubleIteratorSpliterator  java.util.Spliterators$EmptySpliterator  java.util.Spliterators$EmptySpliterator$OfDouble  java.util.Spliterators$EmptySpliterator$OfInt  java.util.Spliterators$EmptySpliterator$OfLong  java.util.Spliterators$EmptySpliterator$OfRef  java.util.Spliterators$IntArraySpliterator  java.util.Spliterators$IntIteratorSpliterator  java.util.Spliterators$IteratorSpliterator  java.util.Spliterators$LongArraySpliterator  java.util.Spliterators$LongIteratorSpliterator
InnerClasses:
  public abstract OfDouble = java.util.PrimitiveIterator$OfDouble of java.util.PrimitiveIterator
  public abstract OfInt = java.util.PrimitiveIterator$OfInt of java.util.PrimitiveIterator
  public abstract OfLong = java.util.PrimitiveIterator$OfLong of java.util.PrimitiveIterator
  public abstract OfDouble = java.util.Spliterator$OfDouble of java.util.Spliterator
  public abstract OfInt = java.util.Spliterator$OfInt of java.util.Spliterator
  public abstract OfLong = java.util.Spliterator$OfLong of java.util.Spliterator
  Adapter = java.util.Spliterators$1Adapter
  Adapter = java.util.Spliterators$2Adapter
  Adapter = java.util.Spliterators$3Adapter
  Adapter = java.util.Spliterators$4Adapter
  public abstract AbstractDoubleSpliterator = java.util.Spliterators$AbstractDoubleSpliterator of java.util.Spliterators
  public abstract AbstractIntSpliterator = java.util.Spliterators$AbstractIntSpliterator of java.util.Spliterators
  public abstract AbstractLongSpliterator = java.util.Spliterators$AbstractLongSpliterator of java.util.Spliterators
  public abstract AbstractSpliterator = java.util.Spliterators$AbstractSpliterator of java.util.Spliterators
  final ArraySpliterator = java.util.Spliterators$ArraySpliterator of java.util.Spliterators
  final DoubleArraySpliterator = java.util.Spliterators$DoubleArraySpliterator of java.util.Spliterators
  final DoubleIteratorSpliterator = java.util.Spliterators$DoubleIteratorSpliterator of java.util.Spliterators
  private abstract EmptySpliterator = java.util.Spliterators$EmptySpliterator of java.util.Spliterators
  private final OfDouble = java.util.Spliterators$EmptySpliterator$OfDouble of java.util.Spliterators$EmptySpliterator
  private final OfInt = java.util.Spliterators$EmptySpliterator$OfInt of java.util.Spliterators$EmptySpliterator
  private final OfLong = java.util.Spliterators$EmptySpliterator$OfLong of java.util.Spliterators$EmptySpliterator
  private final OfRef = java.util.Spliterators$EmptySpliterator$OfRef of java.util.Spliterators$EmptySpliterator
  final IntArraySpliterator = java.util.Spliterators$IntArraySpliterator of java.util.Spliterators
  final IntIteratorSpliterator = java.util.Spliterators$IntIteratorSpliterator of java.util.Spliterators
  IteratorSpliterator = java.util.Spliterators$IteratorSpliterator of java.util.Spliterators
  final LongArraySpliterator = java.util.Spliterators$LongArraySpliterator of java.util.Spliterators
  final LongIteratorSpliterator = java.util.Spliterators$LongIteratorSpliterator of java.util.Spliterators