public interface java.util.stream.Stream<T> extends java.util.stream.BaseStream<T, java.util.stream.Stream<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: java.util.stream.Stream
  super_class: java.lang.Object
{
  public abstract java.util.stream.Stream<T> filter(java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Predicate<-TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
           Name  Flags
      predicate  

  public abstract <R> java.util.stream.Stream<R> map(java.util.function.Function<? super T, ? extends R>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <R:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+TR;>;)Ljava/util/stream/Stream<TR;>;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract java.util.stream.IntStream mapToInt(java.util.function.ToIntFunction<? super T>);
    descriptor: (Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/ToIntFunction<-TT;>;)Ljava/util/stream/IntStream;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract java.util.stream.LongStream mapToLong(java.util.function.ToLongFunction<? super T>);
    descriptor: (Ljava/util/function/ToLongFunction;)Ljava/util/stream/LongStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/ToLongFunction<-TT;>;)Ljava/util/stream/LongStream;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract java.util.stream.DoubleStream mapToDouble(java.util.function.ToDoubleFunction<? super T>);
    descriptor: (Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/DoubleStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/ToDoubleFunction<-TT;>;)Ljava/util/stream/DoubleStream;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract <R> java.util.stream.Stream<R> flatMap(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends R>>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <R:Ljava/lang/Object;>(Ljava/util/function/Function<-TT;+Ljava/util/stream/Stream<+TR;>;>;)Ljava/util/stream/Stream<TR;>;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract java.util.stream.IntStream flatMapToInt(java.util.function.Function<? super T, ? extends java.util.stream.IntStream>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/stream/IntStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Function<-TT;+Ljava/util/stream/IntStream;>;)Ljava/util/stream/IntStream;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract java.util.stream.LongStream flatMapToLong(java.util.function.Function<? super T, ? extends java.util.stream.LongStream>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/stream/LongStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Function<-TT;+Ljava/util/stream/LongStream;>;)Ljava/util/stream/LongStream;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract java.util.stream.DoubleStream flatMapToDouble(java.util.function.Function<? super T, ? extends java.util.stream.DoubleStream>);
    descriptor: (Ljava/util/function/Function;)Ljava/util/stream/DoubleStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Function<-TT;+Ljava/util/stream/DoubleStream;>;)Ljava/util/stream/DoubleStream;
    MethodParameters:
        Name  Flags
      mapper  

  public abstract java.util.stream.Stream<T> distinct();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/stream/Stream<TT;>;

  public abstract java.util.stream.Stream<T> sorted();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/stream/Stream<TT;>;

  public abstract java.util.stream.Stream<T> sorted(java.util.Comparator<? super T>);
    descriptor: (Ljava/util/Comparator;)Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Comparator<-TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
            Name  Flags
      comparator  

  public abstract java.util.stream.Stream<T> peek(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Consumer<-TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
        Name  Flags
      action  

  public abstract java.util.stream.Stream<T> limit(long);
    descriptor: (J)Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (J)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
         Name  Flags
      maxSize  

  public abstract java.util.stream.Stream<T> skip(long);
    descriptor: (J)Ljava/util/stream/Stream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (J)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
      Name  Flags
      n     

  public abstract void forEach(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Consumer<-TT;>;)V
    MethodParameters:
        Name  Flags
      action  

  public abstract void forEachOrdered(java.util.function.Consumer<? super T>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Consumer<-TT;>;)V
    MethodParameters:
        Name  Flags
      action  

  public abstract java.lang.Object[] toArray();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <A> A[] toArray(java.util.function.IntFunction<A[]>);
    descriptor: (Ljava/util/function/IntFunction;)[Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <A:Ljava/lang/Object;>(Ljava/util/function/IntFunction<[TA;>;)[TA;
    MethodParameters:
           Name  Flags
      generator  

  public abstract T reduce(T, java.util.function.BinaryOperator<T>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;Ljava/util/function/BinaryOperator<TT;>;)TT;
    MethodParameters:
             Name  Flags
      identity     
      accumulator  

  public abstract java.util.Optional<T> reduce(java.util.function.BinaryOperator<T>);
    descriptor: (Ljava/util/function/BinaryOperator;)Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/BinaryOperator<TT;>;)Ljava/util/Optional<TT;>;
    MethodParameters:
             Name  Flags
      accumulator  

  public abstract <U> U reduce(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/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <U:Ljava/lang/Object;>(TU;Ljava/util/function/BiFunction<TU;-TT;TU;>;Ljava/util/function/BinaryOperator<TU;>;)TU;
    MethodParameters:
             Name  Flags
      identity     
      accumulator  
      combiner     

  public abstract <R> R collect(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/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <R:Ljava/lang/Object;>(Ljava/util/function/Supplier<TR;>;Ljava/util/function/BiConsumer<TR;-TT;>;Ljava/util/function/BiConsumer<TR;TR;>;)TR;
    MethodParameters:
             Name  Flags
      supplier     
      accumulator  
      combiner     

  public abstract <R, A> R collect(java.util.stream.Collector<? super T, A, R>);
    descriptor: (Ljava/util/stream/Collector;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <R:Ljava/lang/Object;A:Ljava/lang/Object;>(Ljava/util/stream/Collector<-TT;TA;TR;>;)TR;
    MethodParameters:
           Name  Flags
      collector  

  public abstract java.util.Optional<T> min(java.util.Comparator<? super T>);
    descriptor: (Ljava/util/Comparator;)Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Comparator<-TT;>;)Ljava/util/Optional<TT;>;
    MethodParameters:
            Name  Flags
      comparator  

  public abstract java.util.Optional<T> max(java.util.Comparator<? super T>);
    descriptor: (Ljava/util/Comparator;)Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/Comparator<-TT;>;)Ljava/util/Optional<TT;>;
    MethodParameters:
            Name  Flags
      comparator  

  public abstract long count();
    descriptor: ()J
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean anyMatch(java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/function/Predicate;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Predicate<-TT;>;)Z
    MethodParameters:
           Name  Flags
      predicate  

  public abstract boolean allMatch(java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/function/Predicate;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Predicate<-TT;>;)Z
    MethodParameters:
           Name  Flags
      predicate  

  public abstract boolean noneMatch(java.util.function.Predicate<? super T>);
    descriptor: (Ljava/util/function/Predicate;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Ljava/util/function/Predicate<-TT;>;)Z
    MethodParameters:
           Name  Flags
      predicate  

  public abstract java.util.Optional<T> findFirst();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<TT;>;

  public abstract java.util.Optional<T> findAny();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Optional<TT;>;

  public static <T> java.util.stream.Stream$Builder<T> builder();
    descriptor: ()Ljava/util/stream/Stream$Builder;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 966
            new java.util.stream.Streams$StreamBuilderImpl
            dup
            invokespecial java.util.stream.Streams$StreamBuilderImpl.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/stream/Stream$Builder<TT;>;

  public static <T> java.util.stream.Stream<T> empty();
    descriptor: ()Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 976
            invokestatic java.util.Spliterators.emptySpliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <T:Ljava/lang/Object;>()Ljava/util/stream/Stream<TT;>;

  public static <T> java.util.stream.Stream<T> of(T);
    descriptor: (Ljava/lang/Object;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Object t
         0: .line 987
            new java.util.stream.Streams$StreamBuilderImpl
            dup
            aload 0 /* t */
            invokespecial java.util.stream.Streams$StreamBuilderImpl.<init>:(Ljava/lang/Object;)V
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.lang.Object t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  TT;
    Signature: <T:Ljava/lang/Object;>(TT;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
      Name  Flags
      t     

  public static <T> java.util.stream.Stream<T> of(T[]);
    descriptor: ([Ljava/lang/Object;)Ljava/util/stream/Stream;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object[] values
         0: .line 1000
            aload 0 /* values */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.lang.Object[] values
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  values  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>([TT;)Ljava/util/stream/Stream<TT;>;
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
        Name  Flags
      values  

  public static <T> java.util.stream.Stream<T> iterate(T, java.util.function.UnaryOperator<T>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object seed
        start local 1 // java.util.function.UnaryOperator f
         0: .line 1021
            aload 1 /* f */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1022
            new java.util.stream.Stream$1
            dup
            aload 0 /* seed */
            aload 1 /* f */
            invokespecial java.util.stream.Stream$1.<init>:(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)V
            astore 2 /* iterator */
        start local 2 // java.util.Iterator iterator
         2: .line 1037
            aload 2 /* iterator */
         3: .line 1038
            sipush 1040
         4: .line 1036
            invokestatic java.util.Spliterators.spliteratorUnknownSize:(Ljava/util/Iterator;I)Ljava/util/Spliterator;
         5: .line 1038
            iconst_0
         6: .line 1036
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            areturn
        end local 2 // java.util.Iterator iterator
        end local 1 // java.util.function.UnaryOperator f
        end local 0 // java.lang.Object seed
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      seed  TT;
            0    7     1         f  Ljava/util/function/UnaryOperator<TT;>;
            2    7     2  iterator  Ljava/util/Iterator<TT;>;
    Signature: <T:Ljava/lang/Object;>(TT;Ljava/util/function/UnaryOperator<TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
      Name  Flags
      seed  final
      f     final

  public static <T> java.util.stream.Stream<T> generate(java.util.function.Supplier<T>);
    descriptor: (Ljava/util/function/Supplier;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.util.function.Supplier s
         0: .line 1051
            aload 0 /* s */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1053
            new java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef
            dup
            ldc 9223372036854775807
            aload 0 /* s */
            invokespecial java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef.<init>:(JLjava/util/function/Supplier;)V
            iconst_0
         2: .line 1052
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.util.function.Supplier s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     s  Ljava/util/function/Supplier<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/function/Supplier<TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
      Name  Flags
      s     

  public static <T> java.util.stream.Stream<T> concat(java.util.stream.Stream<? extends T>, java.util.stream.Stream<? extends T>);
    descriptor: (Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.util.stream.Stream a
        start local 1 // java.util.stream.Stream b
         0: .line 1075
            aload 0 /* a */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1076
            aload 1 /* b */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1079
            new java.util.stream.Streams$ConcatSpliterator$OfRef
            dup
         3: .line 1080
            aload 0 /* a */
            invokeinterface java.util.stream.Stream.spliterator:()Ljava/util/Spliterator;
            aload 1 /* b */
            invokeinterface java.util.stream.Stream.spliterator:()Ljava/util/Spliterator;
         4: .line 1079
            invokespecial java.util.stream.Streams$ConcatSpliterator$OfRef.<init>:(Ljava/util/Spliterator;Ljava/util/Spliterator;)V
            astore 2 /* split */
        start local 2 // java.util.Spliterator split
         5: .line 1081
            aload 2 /* split */
            aload 0 /* a */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            ifne 6
            aload 1 /* b */
            invokeinterface java.util.stream.Stream.isParallel:()Z
            ifne 6
            iconst_0
            goto 7
      StackMap locals: java.util.stream.Stream java.util.stream.Stream java.util.Spliterator
      StackMap stack: java.util.Spliterator
         6: iconst_1
      StackMap locals: java.util.stream.Stream java.util.stream.Stream java.util.Spliterator
      StackMap stack: java.util.Spliterator int
         7: invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            astore 3 /* stream */
        start local 3 // java.util.stream.Stream stream
         8: .line 1082
            aload 3 /* stream */
            aload 0 /* a */
            aload 1 /* b */
            invokestatic java.util.stream.Streams.composedClose:(Ljava/util/stream/BaseStream;Ljava/util/stream/BaseStream;)Ljava/lang/Runnable;
            invokeinterface java.util.stream.Stream.onClose:(Ljava/lang/Runnable;)Ljava/util/stream/BaseStream;
            checkcast java.util.stream.Stream
            areturn
        end local 3 // java.util.stream.Stream stream
        end local 2 // java.util.Spliterator split
        end local 1 // java.util.stream.Stream b
        end local 0 // java.util.stream.Stream a
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0       a  Ljava/util/stream/Stream<+TT;>;
            0    9     1       b  Ljava/util/stream/Stream<+TT;>;
            5    9     2   split  Ljava/util/Spliterator<TT;>;
            8    9     3  stream  Ljava/util/stream/Stream<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/stream/Stream<+TT;>;Ljava/util/stream/Stream<+TT;>;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
      Name  Flags
      a     
      b     
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/util/stream/BaseStream<TT;Ljava/util/stream/Stream<TT;>;>;
SourceFile: "Stream.java"
NestMembers:
  java.util.stream.Stream$1  java.util.stream.Stream$Builder
InnerClasses:
  java.util.stream.Stream$1
  public abstract Builder = java.util.stream.Stream$Builder of java.util.stream.Stream
  abstract InfiniteSupplyingSpliterator = java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator of java.util.stream.StreamSpliterators
  final OfRef = java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef of java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator
  abstract ConcatSpliterator = java.util.stream.Streams$ConcatSpliterator of java.util.stream.Streams
  OfRef = java.util.stream.Streams$ConcatSpliterator$OfRef of java.util.stream.Streams$ConcatSpliterator
  final StreamBuilderImpl = java.util.stream.Streams$StreamBuilderImpl of java.util.stream.Streams