public interface jdk.incubator.http.HttpResponse$BodyHandler<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: jdk.incubator.http.HttpResponse$BodyHandler
  super_class: java.lang.Object
{
  public abstract jdk.incubator.http.HttpResponse$BodySubscriber<T> apply(int, jdk.incubator.http.HttpHeaders);
    descriptor: (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber<TT;>;
    MethodParameters:
                 Name  Flags
      statusCode       
      responseHeaders  

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.lang.Void> fromSubscriber(java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.Flow$Subscriber subscriber
         0: .line 360
            aload 0 /* subscriber */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 361
            aload 0 /* subscriber */
            invokedynamic apply(Ljava/util/concurrent/Flow$Subscriber;)Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$0(Ljava/util/concurrent/Flow$Subscriber;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 0 // java.util.concurrent.Flow$Subscriber subscriber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  subscriber  Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;
    Signature: (Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;)Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/lang/Void;>;
    MethodParameters:
            Name  Flags
      subscriber  

  public static <S extends java.util.concurrent.Flow$Subscriber<? super java.util.List<java.nio.ByteBuffer>>, T> jdk.incubator.http.HttpResponse$BodyHandler<T> fromSubscriber(S, java.util.function.Function<S, T>);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.concurrent.Flow$Subscriber subscriber
        start local 1 // java.util.function.Function finisher
         0: .line 395
            aload 0 /* subscriber */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 396
            aload 1 /* finisher */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 397
            aload 0 /* subscriber */
            aload 1 /* finisher */
            invokedynamic apply(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$2(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 1 // java.util.function.Function finisher
        end local 0 // java.util.concurrent.Flow$Subscriber subscriber
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  subscriber  TS;
            0    3     1    finisher  Ljava/util/function/Function<TS;TT;>;
    Signature: <S::Ljava/util/concurrent/Flow$Subscriber<-Ljava/util/List<Ljava/nio/ByteBuffer;>;>;T:Ljava/lang/Object;>(TS;Ljava/util/function/Function<TS;TT;>;)Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
    MethodParameters:
            Name  Flags
      subscriber  
      finisher    

  public static <U> jdk.incubator.http.HttpResponse$BodyHandler<U> discard(U);
    descriptor: (Ljava/lang/Object;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object value
         0: .line 410
            aload 0 /* value */
            invokedynamic apply(Ljava/lang/Object;)Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$3(Ljava/lang/Object;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  TU;
    Signature: <U:Ljava/lang/Object;>(TU;)Ljdk/incubator/http/HttpResponse$BodyHandler<TU;>;
    MethodParameters:
       Name  Flags
      value  

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.lang.String> asString(java.nio.charset.Charset);
    descriptor: (Ljava/nio/charset/Charset;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.charset.Charset charset
         0: .line 423
            aload 0 /* charset */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 424
            aload 0 /* charset */
            invokedynamic apply(Ljava/nio/charset/Charset;)Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$4(Ljava/nio/charset/Charset;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 0 // java.nio.charset.Charset charset
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  charset  Ljava/nio/charset/Charset;
    Signature: (Ljava/nio/charset/Charset;)Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      charset  

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.nio.file.Path> asFile(java.nio.file.Path, java.nio.file.OpenOption[]);
    descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.nio.file.Path file
        start local 1 // java.nio.file.OpenOption[] openOptions
         0: .line 448
            aload 0 /* file */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 449
            aload 1 /* openOptions */
            invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* opts */
        start local 2 // java.util.List opts
         2: .line 450
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         3: .line 451
            aload 3 /* sm */
            ifnull 10
         4: .line 452
            aload 0 /* file */
            invokestatic jdk.incubator.http.HttpResponse.pathForSecurityCheck:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 4 /* fn */
        start local 4 // java.lang.String fn
         5: .line 453
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkWrite:(Ljava/lang/String;)V
         6: .line 454
            aload 2 /* opts */
            getstatic java.nio.file.StandardOpenOption.DELETE_ON_CLOSE:Ljava/nio/file/StandardOpenOption;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 455
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkDelete:(Ljava/lang/String;)V
         8: .line 456
      StackMap locals: java.util.List java.lang.SecurityManager java.lang.String
      StackMap stack:
            aload 2 /* opts */
            getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 457
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
        end local 4 // java.lang.String fn
        10: .line 459
      StackMap locals:
      StackMap stack:
            new jdk.incubator.http.HttpResponse$PathBodyHandler
            dup
            aload 0 /* file */
            aload 1 /* openOptions */
            invokespecial jdk.incubator.http.HttpResponse$PathBodyHandler.<init>:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)V
            areturn
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.util.List opts
        end local 1 // java.nio.file.OpenOption[] openOptions
        end local 0 // java.nio.file.Path file
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         file  Ljava/nio/file/Path;
            0   11     1  openOptions  [Ljava/nio/file/OpenOption;
            2   11     2         opts  Ljava/util/List<Ljava/nio/file/OpenOption;>;
            3   11     3           sm  Ljava/lang/SecurityManager;
            5   10     4           fn  Ljava/lang/String;
    Signature: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/nio/file/Path;>;
    MethodParameters:
             Name  Flags
      file         
      openOptions  

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.nio.file.Path> asFile(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.nio.file.Path file
         0: .line 478
            aload 0 /* file */
            iconst_2
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
            getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
         1: .line 479
            getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
            aastore
         2: .line 478
            invokestatic jdk.incubator.http.HttpResponse$BodyHandler.asFile:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodyHandler;
            areturn
        end local 0 // java.nio.file.Path file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  file  Ljava/nio/file/Path;
    Signature: (Ljava/nio/file/Path;)Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/nio/file/Path;>;
    MethodParameters:
      Name  Flags
      file  

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.nio.file.Path> asFileDownload(java.nio.file.Path, java.nio.file.OpenOption[]);
    descriptor: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.nio.file.Path directory
        start local 1 // java.nio.file.OpenOption[] openOptions
         0: .line 512
            aload 0 /* directory */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 513
            aload 1 /* openOptions */
            invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* opts */
        start local 2 // java.util.List opts
         2: .line 514
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         3: .line 515
            aload 3 /* sm */
            ifnull 10
         4: .line 516
            aload 0 /* directory */
            invokestatic jdk.incubator.http.HttpResponse.pathForSecurityCheck:(Ljava/nio/file/Path;)Ljava/lang/String;
            astore 4 /* fn */
        start local 4 // java.lang.String fn
         5: .line 517
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkWrite:(Ljava/lang/String;)V
         6: .line 518
            aload 2 /* opts */
            getstatic java.nio.file.StandardOpenOption.DELETE_ON_CLOSE:Ljava/nio/file/StandardOpenOption;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 519
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkDelete:(Ljava/lang/String;)V
         8: .line 520
      StackMap locals: java.util.List java.lang.SecurityManager java.lang.String
      StackMap stack:
            aload 2 /* opts */
            getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 521
            aload 3 /* sm */
            aload 4 /* fn */
            invokevirtual java.lang.SecurityManager.checkRead:(Ljava/lang/String;)V
        end local 4 // java.lang.String fn
        10: .line 523
      StackMap locals:
      StackMap stack:
            new jdk.incubator.http.HttpResponse$FileDownloadBodyHandler
            dup
            aload 0 /* directory */
            aload 1 /* openOptions */
            invokespecial jdk.incubator.http.HttpResponse$FileDownloadBodyHandler.<init>:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)V
            areturn
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.util.List opts
        end local 1 // java.nio.file.OpenOption[] openOptions
        end local 0 // java.nio.file.Path directory
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0    directory  Ljava/nio/file/Path;
            0   11     1  openOptions  [Ljava/nio/file/OpenOption;
            2   11     2         opts  Ljava/util/List<Ljava/nio/file/OpenOption;>;
            3   11     3           sm  Ljava/lang/SecurityManager;
            5   10     4           fn  Ljava/lang/String;
    Signature: (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/nio/file/Path;>;
    MethodParameters:
             Name  Flags
      directory    
      openOptions  

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.io.InputStream> asInputStream();
    descriptor: ()Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 541
            invokedynamic apply()Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$5(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/io/InputStream;>;

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.lang.Void> asByteArrayConsumer(java.util.function.Consumer<java.util.Optional<byte[]>>);
    descriptor: (Ljava/util/function/Consumer;)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.function.Consumer consumer
         0: .line 557
            aload 0 /* consumer */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 558
            aload 0 /* consumer */
            invokedynamic apply(Ljava/util/function/Consumer;)Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$6(Ljava/util/function/Consumer;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 0 // java.util.function.Consumer consumer
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  consumer  Ljava/util/function/Consumer<Ljava/util/Optional<[B>;>;
    Signature: (Ljava/util/function/Consumer<Ljava/util/Optional<[B>;>;)Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/lang/Void;>;
    MethodParameters:
          Name  Flags
      consumer  

  public static jdk.incubator.http.HttpResponse$BodyHandler<byte[]> asByteArray();
    descriptor: ()Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 572
            invokedynamic apply()Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$7(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljdk/incubator/http/HttpResponse$BodyHandler<[B>;

  public static jdk.incubator.http.HttpResponse$BodyHandler<java.lang.String> asString();
    descriptor: ()Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 591
            invokedynamic apply()Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$8(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljdk/incubator/http/HttpResponse$BodyHandler<Ljava/lang/String;>;

  public static <T> jdk.incubator.http.HttpResponse$BodyHandler<T> buffering(jdk.incubator.http.HttpResponse$BodyHandler<T>, int);
    descriptor: (Ljdk/incubator/http/HttpResponse$BodyHandler;I)Ljdk/incubator/http/HttpResponse$BodyHandler;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.incubator.http.HttpResponse$BodyHandler downstreamHandler
        start local 1 // int bufferSize
         0: .line 611
            aload 0 /* downstreamHandler */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 612
            iload 1 /* bufferSize */
            ifgt 3
         2: .line 613
            new java.lang.IllegalArgumentException
            dup
            ldc "must be greater than 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 614
      StackMap locals:
      StackMap stack:
            aload 0 /* downstreamHandler */
            iload 1 /* bufferSize */
            invokedynamic apply(Ljdk/incubator/http/HttpResponse$BodyHandler;I)Ljdk/incubator/http/HttpResponse$BodyHandler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$9(Ljdk/incubator/http/HttpResponse$BodyHandler;IILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber; (6 itf)
                  (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 1 // int bufferSize
        end local 0 // jdk.incubator.http.HttpResponse$BodyHandler downstreamHandler
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0  downstreamHandler  Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
            0    4     1         bufferSize  I
    Signature: <T:Ljava/lang/Object;>(Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;I)Ljdk/incubator/http/HttpResponse$BodyHandler<TT;>;
    MethodParameters:
                   Name  Flags
      downstreamHandler  
      bufferSize         

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$0(java.util.concurrent.Flow$Subscriber, int, jdk.incubator.http.HttpHeaders);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // int status
        start local 2 // jdk.incubator.http.HttpHeaders headers
         0: .line 361
            aload 0
         1: .line 362
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/incubator/http/HttpResponse$BodyHandler.lambda$1(Ljava/util/concurrent/Flow$Subscriber;)Ljava/lang/Void; (6 itf)
                  (Ljava/util/concurrent/Flow$Subscriber;)Ljava/lang/Void;
         2: .line 361
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.fromSubscriber:(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
         3: .line 362
            areturn
        end local 2 // jdk.incubator.http.HttpHeaders headers
        end local 1 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     1   status  I
            0    4     2  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$2(java.util.concurrent.Flow$Subscriber, java.util.function.Function, int, jdk.incubator.http.HttpHeaders);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 2 // int status
        start local 3 // jdk.incubator.http.HttpHeaders headers
         0: .line 397
            aload 0
         1: .line 398
            aload 1
         2: .line 397
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.fromSubscriber:(Ljava/util/concurrent/Flow$Subscriber;Ljava/util/function/Function;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
         3: .line 398
            areturn
        end local 3 // jdk.incubator.http.HttpHeaders headers
        end local 2 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     2   status  I
            0    4     3  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$3(java.lang.Object, int, jdk.incubator.http.HttpHeaders);
    descriptor: (Ljava/lang/Object;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 1 // int status
        start local 2 // jdk.incubator.http.HttpHeaders headers
         0: .line 410
            aload 0
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.discard:(Ljava/lang/Object;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 2 // jdk.incubator.http.HttpHeaders headers
        end local 1 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     1   status  I
            0    1     2  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$4(java.nio.charset.Charset, int, jdk.incubator.http.HttpHeaders);
    descriptor: (Ljava/nio/charset/Charset;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 1 // int status
        start local 2 // jdk.incubator.http.HttpHeaders headers
         0: .line 424
            aload 0
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.asString:(Ljava/nio/charset/Charset;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 2 // jdk.incubator.http.HttpHeaders headers
        end local 1 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     1   status  I
            0    1     2  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$5(int, jdk.incubator.http.HttpHeaders);
    descriptor: (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // int status
        start local 1 // jdk.incubator.http.HttpHeaders headers
         0: .line 541
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.asInputStream:()Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 1 // jdk.incubator.http.HttpHeaders headers
        end local 0 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0   status  I
            0    1     1  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$6(java.util.function.Consumer, int, jdk.incubator.http.HttpHeaders);
    descriptor: (Ljava/util/function/Consumer;ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 1 // int status
        start local 2 // jdk.incubator.http.HttpHeaders headers
         0: .line 558
            aload 0
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.asByteArrayConsumer:(Ljava/util/function/Consumer;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 2 // jdk.incubator.http.HttpHeaders headers
        end local 1 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     1   status  I
            0    1     2  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$7(int, jdk.incubator.http.HttpHeaders);
    descriptor: (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // int status
        start local 1 // jdk.incubator.http.HttpHeaders headers
         0: .line 572
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.asByteArray:()Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 1 // jdk.incubator.http.HttpHeaders headers
        end local 0 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0   status  I
            0    1     1  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$8(int, jdk.incubator.http.HttpHeaders);
    descriptor: (ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // int status
        start local 1 // jdk.incubator.http.HttpHeaders headers
         0: .line 591
            aload 1 /* headers */
            invokestatic jdk.incubator.http.internal.common.Utils.charsetFrom:(Ljdk/incubator/http/HttpHeaders;)Ljava/nio/charset/Charset;
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.asString:(Ljava/nio/charset/Charset;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
            areturn
        end local 1 // jdk.incubator.http.HttpHeaders headers
        end local 0 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0   status  I
            0    1     1  headers  Ljdk/incubator/http/HttpHeaders;

  private static jdk.incubator.http.HttpResponse$BodySubscriber lambda$9(jdk.incubator.http.HttpResponse$BodyHandler, int, int, jdk.incubator.http.HttpHeaders);
    descriptor: (Ljdk/incubator/http/HttpResponse$BodyHandler;IILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 2 // int status
        start local 3 // jdk.incubator.http.HttpHeaders headers
         0: .line 615
            aload 0
            iload 2 /* status */
            aload 3 /* headers */
            invokeinterface jdk.incubator.http.HttpResponse$BodyHandler.apply:(ILjdk/incubator/http/HttpHeaders;)Ljdk/incubator/http/HttpResponse$BodySubscriber;
         1: .line 616
            iload 1
         2: .line 615
            invokestatic jdk.incubator.http.HttpResponse$BodySubscriber.buffering:(Ljdk/incubator/http/HttpResponse$BodySubscriber;I)Ljdk/incubator/http/HttpResponse$BodySubscriber;
         3: .line 616
            areturn
        end local 3 // jdk.incubator.http.HttpHeaders headers
        end local 2 // int status
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     2   status  I
            0    4     3  headers  Ljdk/incubator/http/HttpHeaders;

  private static java.lang.Void lambda$1(java.util.concurrent.Flow$Subscriber);
    descriptor: (Ljava/util/concurrent/Flow$Subscriber;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.Flow$Subscriber s
         0: .line 362
            aconst_null
            areturn
        end local 0 // java.util.concurrent.Flow$Subscriber s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/util/concurrent/Flow$Subscriber<Ljava/lang/Object;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "HttpResponse.java"
NestHost: jdk.incubator.http.HttpResponse
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Subscriber = java.util.concurrent.Flow$Subscriber of java.util.concurrent.Flow
  public abstract BodyHandler = jdk.incubator.http.HttpResponse$BodyHandler of jdk.incubator.http.HttpResponse
  public abstract BodySubscriber = jdk.incubator.http.HttpResponse$BodySubscriber of jdk.incubator.http.HttpResponse
  FileDownloadBodyHandler = jdk.incubator.http.HttpResponse$FileDownloadBodyHandler of jdk.incubator.http.HttpResponse
  PathBodyHandler = jdk.incubator.http.HttpResponse$PathBodyHandler of jdk.incubator.http.HttpResponse
    RuntimeVisibleAnnotations: 
      java.lang.FunctionalInterface()