class org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner implements org.eclipse.aether.transport.wagon.WagonTransporter$TaskRunner
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner
  super_class: java.lang.Object
{
  private final org.eclipse.aether.spi.connector.transport.GetTask task;
    descriptor: Lorg/eclipse/aether/spi/connector/transport/GetTask;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.eclipse.aether.transport.wagon.WagonTransporter this$0;
    descriptor: Lorg/eclipse/aether/transport/wagon/WagonTransporter;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.eclipse.aether.transport.wagon.WagonTransporter, org.eclipse.aether.spi.connector.transport.GetTask);
    descriptor: (Lorg/eclipse/aether/transport/wagon/WagonTransporter;Lorg/eclipse/aether/spi/connector/transport/GetTask;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner this
        start local 2 // org.eclipse.aether.spi.connector.transport.GetTask task
         0: .line 524
            aload 0 /* this */
            aload 1
            putfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.this$0:Lorg/eclipse/aether/transport/wagon/WagonTransporter;
         1: .line 523
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 525
            aload 0 /* this */
            aload 2 /* task */
            putfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.task:Lorg/eclipse/aether/spi/connector/transport/GetTask;
         3: .line 526
            return
        end local 2 // org.eclipse.aether.spi.connector.transport.GetTask task
        end local 0 // org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/aether/transport/wagon/WagonTransporter$GetTaskRunner;
            0    4     2  task  Lorg/eclipse/aether/spi/connector/transport/GetTask;
    MethodParameters:
        Name  Flags
      this$0  final
      task    

  public void run(org.apache.maven.wagon.Wagon);
    descriptor: (Lorg/apache/maven/wagon/Wagon;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner this
        start local 1 // org.apache.maven.wagon.Wagon wagon
         0: .line 532
            aload 0 /* this */
            getfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.task:Lorg/eclipse/aether/spi/connector/transport/GetTask;
            invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.getLocation:()Ljava/net/URI;
            invokevirtual java.net.URI.toString:()Ljava/lang/String;
            astore 2 /* src */
        start local 2 // java.lang.String src
         1: .line 533
            aload 0 /* this */
            getfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.task:Lorg/eclipse/aether/spi/connector/transport/GetTask;
            invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.getDataFile:()Ljava/io/File;
            astore 3 /* file */
        start local 3 // java.io.File file
         2: .line 534
            aload 3 /* file */
            ifnonnull 12
            aload 1 /* wagon */
            instanceof org.apache.maven.wagon.StreamingWagon
            ifeq 12
         3: .line 536
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 0 /* this */
            getfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.task:Lorg/eclipse/aether/spi/connector/transport/GetTask;
            invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.newOutputStream:()Ljava/io/OutputStream;
            astore 6 /* dst */
        start local 6 // java.io.OutputStream dst
         5: .line 538
            aload 1 /* wagon */
            checkcast org.apache.maven.wagon.StreamingWagon
            aload 2 /* src */
            aload 6 /* dst */
            invokeinterface org.apache.maven.wagon.StreamingWagon.getToStream:(Ljava/lang/String;Ljava/io/OutputStream;)V
         6: .line 539
            aload 6 /* dst */
            ifnull 27
            aload 6 /* dst */
            invokevirtual java.io.OutputStream.close:()V
            goto 27
      StackMap locals: org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner org.apache.maven.wagon.Wagon java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.OutputStream
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 6 /* dst */
            ifnull 8
            aload 6 /* dst */
            invokevirtual java.io.OutputStream.close:()V
        end local 6 // java.io.OutputStream dst
      StackMap locals:
      StackMap stack:
         8: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 4
            ifnonnull 10
            aload 5
            astore 4
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 4
            aload 5
            if_acmpeq 11
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
        12: .line 543
      StackMap locals:
      StackMap stack:
            aload 3 /* file */
            ifnull 13
            aload 3 /* file */
            goto 14
      StackMap locals:
      StackMap stack:
        13: invokestatic org.eclipse.aether.transport.wagon.WagonTransporter.newTempFile:()Ljava/io/File;
      StackMap locals:
      StackMap stack: java.io.File
        14: astore 4 /* dst */
        start local 4 // java.io.File dst
        15: .line 546
            aload 1 /* wagon */
            aload 2 /* src */
            aload 4 /* dst */
            invokeinterface org.apache.maven.wagon.Wagon.get:(Ljava/lang/String;Ljava/io/File;)V
        16: .line 552
            aload 4 /* dst */
            invokevirtual java.io.File.exists:()Z
            ifne 18
            aload 4 /* dst */
            invokevirtual java.io.File.createNewFile:()Z
            ifne 18
        17: .line 554
            new java.io.IOException
            dup
            ldc "Failure creating file '%s'."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* dst */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 556
      StackMap locals: java.io.File
      StackMap stack:
            aload 3 /* file */
            ifnonnull 25
        19: .line 558
            aload 0 /* this */
            aload 4 /* dst */
            invokevirtual org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.readTempFile:(Ljava/io/File;)V
        20: .line 560
            goto 25
        21: .line 562
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        22: .line 563
            aload 3 /* file */
            ifnonnull 24
        23: .line 565
            aload 0 /* this */
            getfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.this$0:Lorg/eclipse/aether/transport/wagon/WagonTransporter;
            aload 4 /* dst */
            invokevirtual org.eclipse.aether.transport.wagon.WagonTransporter.delTempFile:(Ljava/io/File;)V
        24: .line 567
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        25: .line 563
      StackMap locals:
      StackMap stack:
            aload 3 /* file */
            ifnonnull 27
        26: .line 565
            aload 0 /* this */
            getfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.this$0:Lorg/eclipse/aether/transport/wagon/WagonTransporter;
            aload 4 /* dst */
            invokevirtual org.eclipse.aether.transport.wagon.WagonTransporter.delTempFile:(Ljava/io/File;)V
        end local 4 // java.io.File dst
        27: .line 569
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.File file
        end local 2 // java.lang.String src
        end local 1 // org.apache.maven.wagon.Wagon wagon
        end local 0 // org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0   this  Lorg/eclipse/aether/transport/wagon/WagonTransporter$GetTaskRunner;
            0   28     1  wagon  Lorg/apache/maven/wagon/Wagon;
            1   28     2    src  Ljava/lang/String;
            2   28     3   file  Ljava/io/File;
            5    8     6    dst  Ljava/io/OutputStream;
           15   27     4    dst  Ljava/io/File;
      Exception table:
        from    to  target  type
           5     6       7  any
           4     9       9  any
          15    21      21  any
    Exceptions:
      throws java.io.IOException, org.apache.maven.wagon.WagonException
    MethodParameters:
       Name  Flags
      wagon  

  private void readTempFile(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner this
        start local 1 // java.io.File dst
         0: .line 574
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: new java.io.FileInputStream
            dup
            aload 1 /* dst */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 4 /* in */
        start local 4 // java.io.FileInputStream in
         2: .line 575
            aload 0 /* this */
            getfield org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.task:Lorg/eclipse/aether/spi/connector/transport/GetTask;
            invokevirtual org.eclipse.aether.spi.connector.transport.GetTask.newOutputStream:()Ljava/io/OutputStream;
            astore 5 /* out */
        start local 5 // java.io.OutputStream out
         3: .line 577
            aload 5 /* out */
            aload 4 /* in */
            invokestatic org.eclipse.aether.transport.wagon.WagonTransporter.copy:(Ljava/io/OutputStream;Ljava/io/InputStream;)V
         4: .line 578
            aload 5 /* out */
            ifnull 7
            aload 5 /* out */
            invokevirtual java.io.OutputStream.close:()V
            goto 7
      StackMap locals: org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.OutputStream
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 5 /* out */
            ifnull 6
            aload 5 /* out */
            invokevirtual java.io.OutputStream.close:()V
        end local 5 // java.io.OutputStream out
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack:
         7: aload 4 /* in */
            ifnull 15
            aload 4 /* in */
            invokevirtual java.io.FileInputStream.close:()V
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 3
            aload 2
            ifnonnull 9
            aload 3
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2
            aload 3
            if_acmpeq 10
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 4 /* in */
            ifnull 11
            aload 4 /* in */
            invokevirtual java.io.FileInputStream.close:()V
        end local 4 // java.io.FileInputStream in
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 3
            aload 2
            ifnonnull 13
            aload 3
            astore 2
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 2
            aload 3
            if_acmpeq 14
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 2
            athrow
        15: .line 579
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File dst
        end local 0 // org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/eclipse/aether/transport/wagon/WagonTransporter$GetTaskRunner;
            0   16     1   dst  Ljava/io/File;
            2   11     4    in  Ljava/io/FileInputStream;
            3    6     5   out  Ljava/io/OutputStream;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       8  any
           1    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dst   
}
SourceFile: "WagonTransporter.java"
NestHost: org.eclipse.aether.transport.wagon.WagonTransporter
InnerClasses:
  private GetTaskRunner = org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner of org.eclipse.aether.transport.wagon.WagonTransporter
  private abstract TaskRunner = org.eclipse.aether.transport.wagon.WagonTransporter$TaskRunner of org.eclipse.aether.transport.wagon.WagonTransporter