final class java.util.stream.ReduceOps
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.util.stream.ReduceOps
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.stream.ReduceOps this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // java.util.stream.ReduceOps this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/stream/ReduceOps;

  public static <T, U> java.util.stream.TerminalOp<T, U> makeRef(U, java.util.function.BiFunction<U, ? super T, U>, java.util.function.BinaryOperator<U>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.lang.Object seed
        start local 1 // java.util.function.BiFunction reducer
        start local 2 // java.util.function.BinaryOperator combiner
         0: .line 70
            aload 1 /* reducer */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 71
            aload 2 /* combiner */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 88
            new java.util.stream.ReduceOps$1
            dup
            getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
            aload 0 /* seed */
            aload 1 /* reducer */
            aload 2 /* combiner */
            invokespecial java.util.stream.ReduceOps$1.<init>:(Ljava/util/stream/StreamShape;Ljava/lang/Object;Ljava/util/function/BiFunction;Ljava/util/function/BinaryOperator;)V
            areturn
        end local 2 // java.util.function.BinaryOperator combiner
        end local 1 // java.util.function.BiFunction reducer
        end local 0 // java.lang.Object seed
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      seed  TU;
            0    3     1   reducer  Ljava/util/function/BiFunction<TU;-TT;TU;>;
            0    3     2  combiner  Ljava/util/function/BinaryOperator<TU;>;
    Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>(TU;Ljava/util/function/BiFunction<TU;-TT;TU;>;Ljava/util/function/BinaryOperator<TU;>;)Ljava/util/stream/TerminalOp<TT;TU;>;
    MethodParameters:
          Name  Flags
      seed      
      reducer   
      combiner  

  public static <T> java.util.stream.TerminalOp<T, java.util.Optional<T>> makeRef(java.util.function.BinaryOperator<T>);
    descriptor: (Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.function.BinaryOperator operator
         0: .line 106
            aload 0 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 138
            new java.util.stream.ReduceOps$2
            dup
            getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
            aload 0 /* operator */
            invokespecial java.util.stream.ReduceOps$2.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/BinaryOperator;)V
            areturn
        end local 0 // java.util.function.BinaryOperator operator
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  operator  Ljava/util/function/BinaryOperator<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/function/BinaryOperator<TT;>;)Ljava/util/stream/TerminalOp<TT;Ljava/util/Optional<TT;>;>;
    MethodParameters:
          Name  Flags
      operator  

  public static <T, I> java.util.stream.TerminalOp<T, I> makeRef(java.util.stream.Collector<? super T, I, ?>);
    descriptor: (Ljava/util/stream/Collector;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // java.util.stream.Collector collector
         0: .line 157
            aload 0 /* collector */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.stream.Collector
            invokeinterface java.util.stream.Collector.supplier:()Ljava/util/function/Supplier;
            astore 1 /* supplier */
        start local 1 // java.util.function.Supplier supplier
         1: .line 158
            aload 0 /* collector */
            invokeinterface java.util.stream.Collector.accumulator:()Ljava/util/function/BiConsumer;
            astore 2 /* accumulator */
        start local 2 // java.util.function.BiConsumer accumulator
         2: .line 159
            aload 0 /* collector */
            invokeinterface java.util.stream.Collector.combiner:()Ljava/util/function/BinaryOperator;
            astore 3 /* combiner */
        start local 3 // java.util.function.BinaryOperator combiner
         3: .line 177
            new java.util.stream.ReduceOps$3
            dup
            getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
            aload 0 /* collector */
            aload 1 /* supplier */
            aload 2 /* accumulator */
            aload 3 /* combiner */
            invokespecial java.util.stream.ReduceOps$3.<init>:(Ljava/util/stream/StreamShape;Ljava/util/stream/Collector;Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;)V
            areturn
        end local 3 // java.util.function.BinaryOperator combiner
        end local 2 // java.util.function.BiConsumer accumulator
        end local 1 // java.util.function.Supplier supplier
        end local 0 // java.util.stream.Collector collector
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0    collector  Ljava/util/stream/Collector<-TT;TI;*>;
            1    4     1     supplier  Ljava/util/function/Supplier<TI;>;
            2    4     2  accumulator  Ljava/util/function/BiConsumer<TI;-TT;>;
            3    4     3     combiner  Ljava/util/function/BinaryOperator<TI;>;
    Signature: <T:Ljava/lang/Object;I:Ljava/lang/Object;>(Ljava/util/stream/Collector<-TT;TI;*>;)Ljava/util/stream/TerminalOp<TT;TI;>;
    MethodParameters:
           Name  Flags
      collector  

  public static <T, R> java.util.stream.TerminalOp<T, R> makeRef(java.util.function.Supplier<R>, java.util.function.BiConsumer<R, ? super T>, java.util.function.BiConsumer<R, R>);
    descriptor: (Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.function.Supplier seedFactory
        start local 1 // java.util.function.BiConsumer accumulator
        start local 2 // java.util.function.BiConsumer reducer
         0: .line 208
            aload 0 /* seedFactory */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 209
            aload 1 /* accumulator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 210
            aload 2 /* reducer */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 228
            new java.util.stream.ReduceOps$4
            dup
            getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
            aload 0 /* seedFactory */
            aload 1 /* accumulator */
            aload 2 /* reducer */
            invokespecial java.util.stream.ReduceOps$4.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;)V
            areturn
        end local 2 // java.util.function.BiConsumer reducer
        end local 1 // java.util.function.BiConsumer accumulator
        end local 0 // java.util.function.Supplier seedFactory
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  seedFactory  Ljava/util/function/Supplier<TR;>;
            0    4     1  accumulator  Ljava/util/function/BiConsumer<TR;-TT;>;
            0    4     2      reducer  Ljava/util/function/BiConsumer<TR;TR;>;
    Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;>(Ljava/util/function/Supplier<TR;>;Ljava/util/function/BiConsumer<TR;-TT;>;Ljava/util/function/BiConsumer<TR;TR;>;)Ljava/util/stream/TerminalOp<TT;TR;>;
    MethodParameters:
             Name  Flags
      seedFactory  
      accumulator  
      reducer      

  public static <T> java.util.stream.TerminalOp<T, java.lang.Long> makeRefCounting();
    descriptor: ()Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 248
            new java.util.stream.ReduceOps$5
            dup
            getstatic java.util.stream.StreamShape.REFERENCE:Ljava/util/stream/StreamShape;
            invokespecial java.util.stream.ReduceOps$5.<init>:(Ljava/util/stream/StreamShape;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/stream/TerminalOp<TT;Ljava/lang/Long;>;

  public static java.util.stream.TerminalOp<java.lang.Integer, java.lang.Integer> makeInt(int, java.util.function.IntBinaryOperator);
    descriptor: (ILjava/util/function/IntBinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int identity
        start local 1 // java.util.function.IntBinaryOperator operator
         0: .line 285
            aload 1 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 310
            new java.util.stream.ReduceOps$6
            dup
            getstatic java.util.stream.StreamShape.INT_VALUE:Ljava/util/stream/StreamShape;
            iload 0 /* identity */
            aload 1 /* operator */
            invokespecial java.util.stream.ReduceOps$6.<init>:(Ljava/util/stream/StreamShape;ILjava/util/function/IntBinaryOperator;)V
            areturn
        end local 1 // java.util.function.IntBinaryOperator operator
        end local 0 // int identity
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  identity  I
            0    2     1  operator  Ljava/util/function/IntBinaryOperator;
    Signature: (ILjava/util/function/IntBinaryOperator;)Ljava/util/stream/TerminalOp<Ljava/lang/Integer;Ljava/lang/Integer;>;
    MethodParameters:
          Name  Flags
      identity  
      operator  

  public static java.util.stream.TerminalOp<java.lang.Integer, java.util.OptionalInt> makeInt(java.util.function.IntBinaryOperator);
    descriptor: (Ljava/util/function/IntBinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.function.IntBinaryOperator operator
         0: .line 327
            aload 0 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 360
            new java.util.stream.ReduceOps$7
            dup
            getstatic java.util.stream.StreamShape.INT_VALUE:Ljava/util/stream/StreamShape;
            aload 0 /* operator */
            invokespecial java.util.stream.ReduceOps$7.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/IntBinaryOperator;)V
            areturn
        end local 0 // java.util.function.IntBinaryOperator operator
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  operator  Ljava/util/function/IntBinaryOperator;
    Signature: (Ljava/util/function/IntBinaryOperator;)Ljava/util/stream/TerminalOp<Ljava/lang/Integer;Ljava/util/OptionalInt;>;
    MethodParameters:
          Name  Flags
      operator  

  public static <R> java.util.stream.TerminalOp<java.lang.Integer, R> makeInt(java.util.function.Supplier<R>, java.util.function.ObjIntConsumer<R>, java.util.function.BinaryOperator<R>);
    descriptor: (Ljava/util/function/Supplier;Ljava/util/function/ObjIntConsumer;Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.function.Supplier supplier
        start local 1 // java.util.function.ObjIntConsumer accumulator
        start local 2 // java.util.function.BinaryOperator combiner
         0: .line 383
            aload 0 /* supplier */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 384
            aload 1 /* accumulator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 385
            aload 2 /* combiner */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 403
            new java.util.stream.ReduceOps$8
            dup
            getstatic java.util.stream.StreamShape.INT_VALUE:Ljava/util/stream/StreamShape;
            aload 0 /* supplier */
            aload 1 /* accumulator */
            aload 2 /* combiner */
            invokespecial java.util.stream.ReduceOps$8.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/Supplier;Ljava/util/function/ObjIntConsumer;Ljava/util/function/BinaryOperator;)V
            areturn
        end local 2 // java.util.function.BinaryOperator combiner
        end local 1 // java.util.function.ObjIntConsumer accumulator
        end local 0 // java.util.function.Supplier supplier
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0     supplier  Ljava/util/function/Supplier<TR;>;
            0    4     1  accumulator  Ljava/util/function/ObjIntConsumer<TR;>;
            0    4     2     combiner  Ljava/util/function/BinaryOperator<TR;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/util/function/Supplier<TR;>;Ljava/util/function/ObjIntConsumer<TR;>;Ljava/util/function/BinaryOperator<TR;>;)Ljava/util/stream/TerminalOp<Ljava/lang/Integer;TR;>;
    MethodParameters:
             Name  Flags
      supplier     
      accumulator  
      combiner     

  public static java.util.stream.TerminalOp<java.lang.Integer, java.lang.Long> makeIntCounting();
    descriptor: ()Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 422
            new java.util.stream.ReduceOps$9
            dup
            getstatic java.util.stream.StreamShape.INT_VALUE:Ljava/util/stream/StreamShape;
            invokespecial java.util.stream.ReduceOps$9.<init>:(Ljava/util/stream/StreamShape;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/stream/TerminalOp<Ljava/lang/Integer;Ljava/lang/Long;>;

  public static java.util.stream.TerminalOp<java.lang.Long, java.lang.Long> makeLong(long, java.util.function.LongBinaryOperator);
    descriptor: (JLjava/util/function/LongBinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // long identity
        start local 2 // java.util.function.LongBinaryOperator operator
         0: .line 459
            aload 2 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 484
            new java.util.stream.ReduceOps$10
            dup
            getstatic java.util.stream.StreamShape.LONG_VALUE:Ljava/util/stream/StreamShape;
            lload 0 /* identity */
            aload 2 /* operator */
            invokespecial java.util.stream.ReduceOps$10.<init>:(Ljava/util/stream/StreamShape;JLjava/util/function/LongBinaryOperator;)V
            areturn
        end local 2 // java.util.function.LongBinaryOperator operator
        end local 0 // long identity
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  identity  J
            0    2     2  operator  Ljava/util/function/LongBinaryOperator;
    Signature: (JLjava/util/function/LongBinaryOperator;)Ljava/util/stream/TerminalOp<Ljava/lang/Long;Ljava/lang/Long;>;
    MethodParameters:
          Name  Flags
      identity  
      operator  

  public static java.util.stream.TerminalOp<java.lang.Long, java.util.OptionalLong> makeLong(java.util.function.LongBinaryOperator);
    descriptor: (Ljava/util/function/LongBinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.function.LongBinaryOperator operator
         0: .line 501
            aload 0 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 534
            new java.util.stream.ReduceOps$11
            dup
            getstatic java.util.stream.StreamShape.LONG_VALUE:Ljava/util/stream/StreamShape;
            aload 0 /* operator */
            invokespecial java.util.stream.ReduceOps$11.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/LongBinaryOperator;)V
            areturn
        end local 0 // java.util.function.LongBinaryOperator operator
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  operator  Ljava/util/function/LongBinaryOperator;
    Signature: (Ljava/util/function/LongBinaryOperator;)Ljava/util/stream/TerminalOp<Ljava/lang/Long;Ljava/util/OptionalLong;>;
    MethodParameters:
          Name  Flags
      operator  

  public static <R> java.util.stream.TerminalOp<java.lang.Long, R> makeLong(java.util.function.Supplier<R>, java.util.function.ObjLongConsumer<R>, java.util.function.BinaryOperator<R>);
    descriptor: (Ljava/util/function/Supplier;Ljava/util/function/ObjLongConsumer;Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.function.Supplier supplier
        start local 1 // java.util.function.ObjLongConsumer accumulator
        start local 2 // java.util.function.BinaryOperator combiner
         0: .line 557
            aload 0 /* supplier */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 558
            aload 1 /* accumulator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 559
            aload 2 /* combiner */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 577
            new java.util.stream.ReduceOps$12
            dup
            getstatic java.util.stream.StreamShape.LONG_VALUE:Ljava/util/stream/StreamShape;
            aload 0 /* supplier */
            aload 1 /* accumulator */
            aload 2 /* combiner */
            invokespecial java.util.stream.ReduceOps$12.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/Supplier;Ljava/util/function/ObjLongConsumer;Ljava/util/function/BinaryOperator;)V
            areturn
        end local 2 // java.util.function.BinaryOperator combiner
        end local 1 // java.util.function.ObjLongConsumer accumulator
        end local 0 // java.util.function.Supplier supplier
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0     supplier  Ljava/util/function/Supplier<TR;>;
            0    4     1  accumulator  Ljava/util/function/ObjLongConsumer<TR;>;
            0    4     2     combiner  Ljava/util/function/BinaryOperator<TR;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/util/function/Supplier<TR;>;Ljava/util/function/ObjLongConsumer<TR;>;Ljava/util/function/BinaryOperator<TR;>;)Ljava/util/stream/TerminalOp<Ljava/lang/Long;TR;>;
    MethodParameters:
             Name  Flags
      supplier     
      accumulator  
      combiner     

  public static java.util.stream.TerminalOp<java.lang.Long, java.lang.Long> makeLongCounting();
    descriptor: ()Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 596
            new java.util.stream.ReduceOps$13
            dup
            getstatic java.util.stream.StreamShape.LONG_VALUE:Ljava/util/stream/StreamShape;
            invokespecial java.util.stream.ReduceOps$13.<init>:(Ljava/util/stream/StreamShape;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/stream/TerminalOp<Ljava/lang/Long;Ljava/lang/Long;>;

  public static java.util.stream.TerminalOp<java.lang.Double, java.lang.Double> makeDouble(double, java.util.function.DoubleBinaryOperator);
    descriptor: (DLjava/util/function/DoubleBinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // double identity
        start local 2 // java.util.function.DoubleBinaryOperator operator
         0: .line 633
            aload 2 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 658
            new java.util.stream.ReduceOps$14
            dup
            getstatic java.util.stream.StreamShape.DOUBLE_VALUE:Ljava/util/stream/StreamShape;
            dload 0 /* identity */
            aload 2 /* operator */
            invokespecial java.util.stream.ReduceOps$14.<init>:(Ljava/util/stream/StreamShape;DLjava/util/function/DoubleBinaryOperator;)V
            areturn
        end local 2 // java.util.function.DoubleBinaryOperator operator
        end local 0 // double identity
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  identity  D
            0    2     2  operator  Ljava/util/function/DoubleBinaryOperator;
    Signature: (DLjava/util/function/DoubleBinaryOperator;)Ljava/util/stream/TerminalOp<Ljava/lang/Double;Ljava/lang/Double;>;
    MethodParameters:
          Name  Flags
      identity  
      operator  

  public static java.util.stream.TerminalOp<java.lang.Double, java.util.OptionalDouble> makeDouble(java.util.function.DoubleBinaryOperator);
    descriptor: (Ljava/util/function/DoubleBinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.function.DoubleBinaryOperator operator
         0: .line 675
            aload 0 /* operator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 708
            new java.util.stream.ReduceOps$15
            dup
            getstatic java.util.stream.StreamShape.DOUBLE_VALUE:Ljava/util/stream/StreamShape;
            aload 0 /* operator */
            invokespecial java.util.stream.ReduceOps$15.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/DoubleBinaryOperator;)V
            areturn
        end local 0 // java.util.function.DoubleBinaryOperator operator
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  operator  Ljava/util/function/DoubleBinaryOperator;
    Signature: (Ljava/util/function/DoubleBinaryOperator;)Ljava/util/stream/TerminalOp<Ljava/lang/Double;Ljava/util/OptionalDouble;>;
    MethodParameters:
          Name  Flags
      operator  

  public static <R> java.util.stream.TerminalOp<java.lang.Double, R> makeDouble(java.util.function.Supplier<R>, java.util.function.ObjDoubleConsumer<R>, java.util.function.BinaryOperator<R>);
    descriptor: (Ljava/util/function/Supplier;Ljava/util/function/ObjDoubleConsumer;Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.function.Supplier supplier
        start local 1 // java.util.function.ObjDoubleConsumer accumulator
        start local 2 // java.util.function.BinaryOperator combiner
         0: .line 731
            aload 0 /* supplier */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 732
            aload 1 /* accumulator */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 733
            aload 2 /* combiner */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 751
            new java.util.stream.ReduceOps$16
            dup
            getstatic java.util.stream.StreamShape.DOUBLE_VALUE:Ljava/util/stream/StreamShape;
            aload 0 /* supplier */
            aload 1 /* accumulator */
            aload 2 /* combiner */
            invokespecial java.util.stream.ReduceOps$16.<init>:(Ljava/util/stream/StreamShape;Ljava/util/function/Supplier;Ljava/util/function/ObjDoubleConsumer;Ljava/util/function/BinaryOperator;)V
            areturn
        end local 2 // java.util.function.BinaryOperator combiner
        end local 1 // java.util.function.ObjDoubleConsumer accumulator
        end local 0 // java.util.function.Supplier supplier
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0     supplier  Ljava/util/function/Supplier<TR;>;
            0    4     1  accumulator  Ljava/util/function/ObjDoubleConsumer<TR;>;
            0    4     2     combiner  Ljava/util/function/BinaryOperator<TR;>;
    Signature: <R:Ljava/lang/Object;>(Ljava/util/function/Supplier<TR;>;Ljava/util/function/ObjDoubleConsumer<TR;>;Ljava/util/function/BinaryOperator<TR;>;)Ljava/util/stream/TerminalOp<Ljava/lang/Double;TR;>;
    MethodParameters:
             Name  Flags
      supplier     
      accumulator  
      combiner     

  public static java.util.stream.TerminalOp<java.lang.Double, java.lang.Long> makeDoubleCounting();
    descriptor: ()Ljava/util/stream/TerminalOp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 770
            new java.util.stream.ReduceOps$17
            dup
            getstatic java.util.stream.StreamShape.DOUBLE_VALUE:Ljava/util/stream/StreamShape;
            invokespecial java.util.stream.ReduceOps$17.<init>:(Ljava/util/stream/StreamShape;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/stream/TerminalOp<Ljava/lang/Double;Ljava/lang/Long;>;
}
SourceFile: "ReduceOps.java"
NestMembers:
  java.util.stream.ReduceOps$1  java.util.stream.ReduceOps$10  java.util.stream.ReduceOps$10ReducingSink  java.util.stream.ReduceOps$11  java.util.stream.ReduceOps$11ReducingSink  java.util.stream.ReduceOps$12  java.util.stream.ReduceOps$12ReducingSink  java.util.stream.ReduceOps$13  java.util.stream.ReduceOps$13ReducingSink  java.util.stream.ReduceOps$14  java.util.stream.ReduceOps$15  java.util.stream.ReduceOps$16  java.util.stream.ReduceOps$17  java.util.stream.ReduceOps$1ReducingSink  java.util.stream.ReduceOps$2  java.util.stream.ReduceOps$2ReducingSink  java.util.stream.ReduceOps$3  java.util.stream.ReduceOps$3ReducingSink  java.util.stream.ReduceOps$4  java.util.stream.ReduceOps$4ReducingSink  java.util.stream.ReduceOps$5  java.util.stream.ReduceOps$5ReducingSink  java.util.stream.ReduceOps$6  java.util.stream.ReduceOps$6ReducingSink  java.util.stream.ReduceOps$7  java.util.stream.ReduceOps$7ReducingSink  java.util.stream.ReduceOps$8  java.util.stream.ReduceOps$8ReducingSink  java.util.stream.ReduceOps$9  java.util.stream.ReduceOps$9ReducingSink  java.util.stream.ReduceOps$AccumulatingSink  java.util.stream.ReduceOps$Box  java.util.stream.ReduceOps$CountingSink  java.util.stream.ReduceOps$CountingSink$OfDouble  java.util.stream.ReduceOps$CountingSink$OfInt  java.util.stream.ReduceOps$CountingSink$OfLong  java.util.stream.ReduceOps$CountingSink$OfRef  java.util.stream.ReduceOps$ReduceOp  java.util.stream.ReduceOps$ReduceTask
InnerClasses:
  java.util.stream.ReduceOps$1
  java.util.stream.ReduceOps$10
  ReducingSink = java.util.stream.ReduceOps$10ReducingSink
  java.util.stream.ReduceOps$11
  ReducingSink = java.util.stream.ReduceOps$11ReducingSink
  java.util.stream.ReduceOps$12
  ReducingSink = java.util.stream.ReduceOps$12ReducingSink
  java.util.stream.ReduceOps$13
  ReducingSink = java.util.stream.ReduceOps$13ReducingSink
  java.util.stream.ReduceOps$14
  java.util.stream.ReduceOps$15
  java.util.stream.ReduceOps$16
  java.util.stream.ReduceOps$17
  ReducingSink = java.util.stream.ReduceOps$1ReducingSink
  java.util.stream.ReduceOps$2
  ReducingSink = java.util.stream.ReduceOps$2ReducingSink
  java.util.stream.ReduceOps$3
  ReducingSink = java.util.stream.ReduceOps$3ReducingSink
  java.util.stream.ReduceOps$4
  ReducingSink = java.util.stream.ReduceOps$4ReducingSink
  java.util.stream.ReduceOps$5
  ReducingSink = java.util.stream.ReduceOps$5ReducingSink
  java.util.stream.ReduceOps$6
  ReducingSink = java.util.stream.ReduceOps$6ReducingSink
  java.util.stream.ReduceOps$7
  ReducingSink = java.util.stream.ReduceOps$7ReducingSink
  java.util.stream.ReduceOps$8
  ReducingSink = java.util.stream.ReduceOps$8ReducingSink
  java.util.stream.ReduceOps$9
  ReducingSink = java.util.stream.ReduceOps$9ReducingSink
  private abstract AccumulatingSink = java.util.stream.ReduceOps$AccumulatingSink of java.util.stream.ReduceOps
  private abstract Box = java.util.stream.ReduceOps$Box of java.util.stream.ReduceOps
  abstract CountingSink = java.util.stream.ReduceOps$CountingSink of java.util.stream.ReduceOps
  private abstract ReduceOp = java.util.stream.ReduceOps$ReduceOp of java.util.stream.ReduceOps
  private final ReduceTask = java.util.stream.ReduceOps$ReduceTask of java.util.stream.ReduceOps