class org.eclipse.jgit.transport.FetchProcess
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jgit.transport.FetchProcess
  super_class: java.lang.Object
{
  private final org.eclipse.jgit.transport.Transport transport;
    descriptor: Lorg/eclipse/jgit/transport/Transport;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Collection<org.eclipse.jgit.transport.RefSpec> toFetch;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Lorg/eclipse/jgit/transport/RefSpec;>;

  private final java.util.HashMap<org.eclipse.jgit.lib.ObjectId, org.eclipse.jgit.lib.Ref> askFor;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Lorg/eclipse/jgit/lib/ObjectId;Lorg/eclipse/jgit/lib/Ref;>;

  private final java.util.HashSet<org.eclipse.jgit.lib.ObjectId> have;
    descriptor: Ljava/util/HashSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashSet<Lorg/eclipse/jgit/lib/ObjectId;>;

  private final java.util.ArrayList<org.eclipse.jgit.transport.TrackingRefUpdate> localUpdates;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/eclipse/jgit/transport/TrackingRefUpdate;>;

  private final java.util.ArrayList<org.eclipse.jgit.transport.FetchHeadRecord> fetchHeadUpdates;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/eclipse/jgit/transport/FetchHeadRecord;>;

  private final java.util.ArrayList<org.eclipse.jgit.internal.storage.file.PackLock> packLocks;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/ArrayList<Lorg/eclipse/jgit/internal/storage/file/PackLock;>;

  private org.eclipse.jgit.transport.FetchConnection conn;
    descriptor: Lorg/eclipse/jgit/transport/FetchConnection;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, org.eclipse.jgit.lib.Ref> localRefs;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/Ref;>;

  void <init>(org.eclipse.jgit.transport.Transport, java.util.Collection<org.eclipse.jgit.transport.RefSpec>);
    descriptor: (Lorg/eclipse/jgit/transport/Transport;Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.Transport t
        start local 2 // java.util.Collection f
         0: .line 77
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
         2: .line 63
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jgit.transport.FetchProcess.have:Ljava/util/HashSet;
         3: .line 66
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jgit.transport.FetchProcess.localUpdates:Ljava/util/ArrayList;
         4: .line 69
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jgit.transport.FetchProcess.fetchHeadUpdates:Ljava/util/ArrayList;
         5: .line 71
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jgit.transport.FetchProcess.packLocks:Ljava/util/ArrayList;
         6: .line 78
            aload 0 /* this */
            aload 1 /* t */
            putfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
         7: .line 79
            aload 0 /* this */
            aload 2 /* f */
            putfield org.eclipse.jgit.transport.FetchProcess.toFetch:Ljava/util/Collection;
         8: .line 80
            return
        end local 2 // java.util.Collection f
        end local 1 // org.eclipse.jgit.transport.Transport t
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    9     1     t  Lorg/eclipse/jgit/transport/Transport;
            0    9     2     f  Ljava/util/Collection<Lorg/eclipse/jgit/transport/RefSpec;>;
    Signature: (Lorg/eclipse/jgit/transport/Transport;Ljava/util/Collection<Lorg/eclipse/jgit/transport/RefSpec;>;)V
    MethodParameters:
      Name  Flags
      t     
      f     

  void execute(org.eclipse.jgit.lib.ProgressMonitor, org.eclipse.jgit.transport.FetchResult);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;Lorg/eclipse/jgit/transport/FetchResult;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        start local 2 // org.eclipse.jgit.transport.FetchResult result
         0: .line 84
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         1: .line 85
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.localUpdates:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         2: .line 86
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.fetchHeadUpdates:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         3: .line 87
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.packLocks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         4: .line 88
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.transport.FetchProcess.localRefs:Ljava/util/Map;
         5: .line 91
            aload 0 /* this */
            aload 1 /* monitor */
            aload 2 /* result */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.executeImp:(Lorg/eclipse/jgit/lib/ProgressMonitor;Lorg/eclipse/jgit/transport/FetchResult;)V
         6: .line 92
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
         8: .line 94
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.packLocks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.lang.Throwable top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackLock
            astore 4 /* lock */
        start local 4 // org.eclipse.jgit.internal.storage.file.PackLock lock
        10: .line 95
            aload 4 /* lock */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackLock.unlock:()V
        end local 4 // org.eclipse.jgit.internal.storage.file.PackLock lock
        11: .line 94
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 96
            goto 15
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.lang.Throwable
      StackMap stack: java.io.IOException
        13: astore 4 /* e */
        start local 4 // java.io.IOException e
        14: .line 97
            new org.eclipse.jgit.errors.TransportException
            dup
            aload 4 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        15: .line 99
      StackMap locals:
      StackMap stack:
            aload 3
            athrow
        16: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.packLocks:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 19
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult top top java.util.Iterator
      StackMap stack:
        17: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackLock
            astore 4 /* lock */
        start local 4 // org.eclipse.jgit.internal.storage.file.PackLock lock
        18: .line 95
            aload 4 /* lock */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackLock.unlock:()V
        end local 4 // org.eclipse.jgit.internal.storage.file.PackLock lock
        19: .line 94
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 96
            goto 23
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult
      StackMap stack: java.io.IOException
        21: astore 4 /* e */
        start local 4 // java.io.IOException e
        22: .line 97
            new org.eclipse.jgit.errors.TransportException
            dup
            aload 4 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
        23: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jgit.transport.FetchResult result
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   24     1  monitor  Lorg/eclipse/jgit/lib/ProgressMonitor;
            0   24     2   result  Lorg/eclipse/jgit/transport/FetchResult;
           10   11     4     lock  Lorg/eclipse/jgit/internal/storage/file/PackLock;
           18   19     4     lock  Lorg/eclipse/jgit/internal/storage/file/PackLock;
           14   15     4        e  Ljava/io/IOException;
           22   23     4        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     7       7  any
           8    12      13  Class java.io.IOException
          16    20      21  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jgit.errors.NotSupportedException, org.eclipse.jgit.errors.TransportException
    MethodParameters:
         Name  Flags
      monitor  
      result   

  private void executeImp(org.eclipse.jgit.lib.ProgressMonitor, org.eclipse.jgit.transport.FetchResult);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;Lorg/eclipse/jgit/transport/FetchResult;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        start local 2 // org.eclipse.jgit.transport.FetchResult result
         0: .line 105
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.openFetch:()Lorg/eclipse/jgit/transport/FetchConnection;
            putfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
         1: .line 107
            aload 2 /* result */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.getURI:()Lorg/eclipse/jgit/transport/URIish;
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getRefsMap:()Ljava/util/Map;
            invokevirtual org.eclipse.jgit.transport.FetchResult.setAdvertisedRefs:(Lorg/eclipse/jgit/transport/URIish;Ljava/util/Map;)V
         2: .line 108
            aload 2 /* result */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getPeerUserAgent:()Ljava/lang/String;
            putfield org.eclipse.jgit.transport.FetchResult.peerUserAgent:Ljava/lang/String;
         3: .line 109
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* matched */
        start local 3 // java.util.Set matched
         4: .line 110
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.toFetch:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RefSpec
            astore 4 /* spec */
        start local 4 // org.eclipse.jgit.transport.RefSpec spec
         6: .line 111
            aload 4 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getSource:()Ljava/lang/String;
            ifnonnull 10
         7: .line 112
            new org.eclipse.jgit.errors.TransportException
            dup
         8: .line 113
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.sourceRefNotSpecifiedForRefspec:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* spec */
            aastore
         9: .line 112
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 115
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set org.eclipse.jgit.transport.RefSpec java.util.Iterator
      StackMap stack:
            aload 4 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.isWildcard:()Z
            ifeq 12
        11: .line 116
            aload 0 /* this */
            aload 4 /* spec */
            aload 3 /* matched */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.expandWildcard:(Lorg/eclipse/jgit/transport/RefSpec;Ljava/util/Set;)V
            goto 13
        12: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* spec */
            aload 3 /* matched */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.expandSingle:(Lorg/eclipse/jgit/transport/RefSpec;Ljava/util/Set;)V
        end local 4 // org.eclipse.jgit.transport.RefSpec spec
        13: .line 110
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        14: .line 121
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            astore 4 /* additionalTags */
        start local 4 // java.util.Collection additionalTags
        15: .line 122
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.getTagOpt:()Lorg/eclipse/jgit/transport/TagOpt;
            astore 5 /* tagopt */
        start local 5 // org.eclipse.jgit.transport.TagOpt tagopt
        16: .line 123
            aload 5 /* tagopt */
            getstatic org.eclipse.jgit.transport.TagOpt.AUTO_FOLLOW:Lorg/eclipse/jgit/transport/TagOpt;
            if_acmpne 18
        17: .line 124
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.expandAutoFollowTags:()Ljava/util/Collection;
            astore 4 /* additionalTags */
            goto 20
        18: .line 125
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set java.util.Collection org.eclipse.jgit.transport.TagOpt
      StackMap stack:
            aload 5 /* tagopt */
            getstatic org.eclipse.jgit.transport.TagOpt.FETCH_TAGS:Lorg/eclipse/jgit/transport/TagOpt;
            if_acmpne 20
        19: .line 126
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.expandFetchTags:()V
        20: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 25
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.askForIsComplete:()Z
            ifne 25
        21: .line 130
            aload 0 /* this */
            aload 1 /* monitor */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.fetchObjects:(Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        22: .line 131
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.didFetchIncludeTags:()Z
            istore 6 /* includedTags */
        start local 6 // boolean includedTags
        23: .line 136
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.closeConnection:(Lorg/eclipse/jgit/transport/FetchResult;)V
        24: .line 137
            goto 26
        end local 6 // boolean includedTags
        25: .line 138
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* includedTags */
        start local 6 // boolean includedTags
        26: .line 141
      StackMap locals: int
      StackMap stack:
            aload 5 /* tagopt */
            getstatic org.eclipse.jgit.transport.TagOpt.AUTO_FOLLOW:Lorg/eclipse/jgit/transport/TagOpt;
            if_acmpne 45
            aload 4 /* additionalTags */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 45
        27: .line 145
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.have:Ljava/util/HashSet;
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokevirtual java.util.HashSet.addAll:(Ljava/util/Collection;)Z
            pop
        28: .line 146
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
        29: .line 147
            aload 4 /* additionalTags */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 36
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set java.util.Collection org.eclipse.jgit.transport.TagOpt int top java.util.Iterator
      StackMap stack:
        30: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 7 /* r */
        start local 7 // org.eclipse.jgit.lib.Ref r
        31: .line 148
            aload 7 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getPeeledObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 9 /* id */
        start local 9 // org.eclipse.jgit.lib.ObjectId id
        32: .line 149
            aload 9 /* id */
            ifnonnull 34
        33: .line 150
            aload 7 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 9 /* id */
        34: .line 151
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set java.util.Collection org.eclipse.jgit.transport.TagOpt int org.eclipse.jgit.lib.Ref java.util.Iterator org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 0 /* this */
            aload 9 /* id */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.localHasObject:(Lorg/eclipse/jgit/lib/ObjectId;)Z
            ifeq 36
        35: .line 152
            aload 0 /* this */
            aload 7 /* r */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.wantTag:(Lorg/eclipse/jgit/lib/Ref;)V
        end local 9 // org.eclipse.jgit.lib.ObjectId id
        end local 7 // org.eclipse.jgit.lib.Ref r
        36: .line 147
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set java.util.Collection org.eclipse.jgit.transport.TagOpt int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        37: .line 155
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 45
            iload 6 /* includedTags */
            ifeq 38
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.askForIsComplete:()Z
            ifne 45
        38: .line 156
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult java.util.Set java.util.Collection org.eclipse.jgit.transport.TagOpt int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.reopenConnection:()V
        39: .line 157
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifne 45
        40: .line 158
            aload 0 /* this */
            aload 1 /* monitor */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.fetchObjects:(Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        end local 6 // boolean includedTags
        end local 5 // org.eclipse.jgit.transport.TagOpt tagopt
        end local 4 // java.util.Collection additionalTags
        end local 3 // java.util.Set matched
        41: .line 161
            goto 45
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult
      StackMap stack: java.lang.Throwable
        42: astore 10
        43: .line 162
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.closeConnection:(Lorg/eclipse/jgit/transport/FetchResult;)V
        44: .line 163
            aload 10
            athrow
        45: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.closeConnection:(Lorg/eclipse/jgit/transport/FetchResult;)V
        46: .line 165
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            getfield org.eclipse.jgit.transport.Transport.local:Lorg/eclipse/jgit/lib/Repository;
            invokevirtual org.eclipse.jgit.lib.Repository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
        47: .line 166
            invokevirtual org.eclipse.jgit.lib.RefDatabase.newBatchUpdate:()Lorg/eclipse/jgit/lib/BatchRefUpdate;
        48: .line 167
            iconst_1
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.setAllowNonFastForwards:(Z)Lorg/eclipse/jgit/lib/BatchRefUpdate;
        49: .line 168
            ldc "fetch"
            iconst_1
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.setRefLogMessage:(Ljava/lang/String;Z)Lorg/eclipse/jgit/lib/BatchRefUpdate;
        50: .line 165
            astore 3 /* batch */
        start local 3 // org.eclipse.jgit.lib.BatchRefUpdate batch
        51: .line 169
            aconst_null
            astore 4
            aconst_null
            astore 5
        52: new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            getfield org.eclipse.jgit.transport.Transport.local:Lorg/eclipse/jgit/lib/Repository;
            invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 6 /* walk */
        start local 6 // org.eclipse.jgit.revwalk.RevWalk walk
        53: .line 170
            aload 6 /* walk */
            iconst_0
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.setRetainBody:(Z)V
        54: .line 171
            aload 1 /* monitor */
            instanceof org.eclipse.jgit.lib.BatchingProgressMonitor
            ifeq 58
        55: .line 172
            aload 1 /* monitor */
            checkcast org.eclipse.jgit.lib.BatchingProgressMonitor
        56: .line 173
            ldc 250
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        57: .line 172
            invokevirtual org.eclipse.jgit.lib.BatchingProgressMonitor.setDelayStart:(JLjava/util/concurrent/TimeUnit;)V
        58: .line 175
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.lang.Throwable java.lang.Throwable org.eclipse.jgit.revwalk.RevWalk
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.isRemoveDeletedRefs:()Z
            ifeq 60
        59: .line 176
            aload 0 /* this */
            aload 2 /* result */
            aload 3 /* batch */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.deleteStaleTrackingRefs:(Lorg/eclipse/jgit/transport/FetchResult;Lorg/eclipse/jgit/lib/BatchRefUpdate;)V
        60: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* result */
            aload 3 /* batch */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.addUpdateBatchCommands:(Lorg/eclipse/jgit/transport/FetchResult;Lorg/eclipse/jgit/lib/BatchRefUpdate;)V
        61: .line 179
            aload 3 /* batch */
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.getCommands:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 68
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.lang.Throwable java.lang.Throwable org.eclipse.jgit.revwalk.RevWalk top java.util.Iterator
      StackMap stack:
        62: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.ReceiveCommand
            astore 7 /* cmd */
        start local 7 // org.eclipse.jgit.transport.ReceiveCommand cmd
        63: .line 180
            aload 7 /* cmd */
            aload 6 /* walk */
            invokevirtual org.eclipse.jgit.transport.ReceiveCommand.updateType:(Lorg/eclipse/jgit/revwalk/RevWalk;)V
        64: .line 181
            aload 7 /* cmd */
            invokevirtual org.eclipse.jgit.transport.ReceiveCommand.getType:()Lorg/eclipse/jgit/transport/ReceiveCommand$Type;
            getstatic org.eclipse.jgit.transport.ReceiveCommand$Type.UPDATE_NONFASTFORWARD:Lorg/eclipse/jgit/transport/ReceiveCommand$Type;
            if_acmpne 68
        65: .line 182
            aload 7 /* cmd */
            instanceof org.eclipse.jgit.transport.TrackingRefUpdate$Command
            ifeq 68
        66: .line 183
            aload 7 /* cmd */
            checkcast org.eclipse.jgit.transport.TrackingRefUpdate$Command
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate$Command.canForceUpdate:()Z
            ifne 68
        67: .line 184
            aload 7 /* cmd */
            getstatic org.eclipse.jgit.transport.ReceiveCommand$Result.REJECTED_NONFASTFORWARD:Lorg/eclipse/jgit/transport/ReceiveCommand$Result;
            invokevirtual org.eclipse.jgit.transport.ReceiveCommand.setResult:(Lorg/eclipse/jgit/transport/ReceiveCommand$Result;)V
        end local 7 // org.eclipse.jgit.transport.ReceiveCommand cmd
        68: .line 179
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        69: .line 186
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.isDryRun:()Z
            ifeq 76
        70: .line 187
            aload 3 /* batch */
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.getCommands:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 74
      StackMap locals:
      StackMap stack:
        71: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.ReceiveCommand
            astore 7 /* cmd */
        start local 7 // org.eclipse.jgit.transport.ReceiveCommand cmd
        72: .line 188
            aload 7 /* cmd */
            invokevirtual org.eclipse.jgit.transport.ReceiveCommand.getResult:()Lorg/eclipse/jgit/transport/ReceiveCommand$Result;
            getstatic org.eclipse.jgit.transport.ReceiveCommand$Result.NOT_ATTEMPTED:Lorg/eclipse/jgit/transport/ReceiveCommand$Result;
            if_acmpne 74
        73: .line 189
            aload 7 /* cmd */
            getstatic org.eclipse.jgit.transport.ReceiveCommand$Result.OK:Lorg/eclipse/jgit/transport/ReceiveCommand$Result;
            invokevirtual org.eclipse.jgit.transport.ReceiveCommand.setResult:(Lorg/eclipse/jgit/transport/ReceiveCommand$Result;)V
        end local 7 // org.eclipse.jgit.transport.ReceiveCommand cmd
        74: .line 187
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
        75: .line 191
            goto 77
        76: .line 192
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.lang.Throwable java.lang.Throwable org.eclipse.jgit.revwalk.RevWalk
      StackMap stack:
            aload 3 /* batch */
            aload 6 /* walk */
            aload 1 /* monitor */
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.execute:(Lorg/eclipse/jgit/revwalk/RevWalk;Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        77: .line 194
      StackMap locals:
      StackMap stack:
            aload 6 /* walk */
            ifnull 92
            aload 6 /* walk */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
            goto 92
      StackMap locals:
      StackMap stack: java.lang.Throwable
        78: astore 4
            aload 6 /* walk */
            ifnull 79
            aload 6 /* walk */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
        end local 6 // org.eclipse.jgit.revwalk.RevWalk walk
      StackMap locals:
      StackMap stack:
        79: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        80: astore 5
            aload 4
            ifnonnull 81
            aload 5
            astore 4
            goto 82
      StackMap locals:
      StackMap stack:
        81: aload 4
            aload 5
            if_acmpeq 82
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        82: aload 4
            athrow
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate
      StackMap stack: org.eclipse.jgit.errors.TransportException
        83: astore 4 /* e */
        start local 4 // org.eclipse.jgit.errors.TransportException e
        84: .line 195
            aload 4 /* e */
            athrow
        end local 4 // org.eclipse.jgit.errors.TransportException e
        85: .line 196
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 4 /* err */
        start local 4 // java.io.IOException err
        86: .line 197
            new org.eclipse.jgit.errors.TransportException
            dup
        87: .line 198
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.failureUpdatingTrackingRef:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        88: .line 199
            aload 3 /* batch */
            invokestatic org.eclipse.jgit.transport.FetchProcess.getFirstFailedRefName:(Lorg/eclipse/jgit/lib/BatchRefUpdate;)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* err */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aastore
        89: .line 197
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        90: .line 199
            aload 4 /* err */
        91: .line 197
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException err
        92: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.fetchHeadUpdates:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 101
        93: .line 204
            aload 0 /* this */
            aload 2 /* result */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.updateFETCH_HEAD:(Lorg/eclipse/jgit/transport/FetchResult;)V
        94: .line 205
            goto 101
      StackMap locals:
      StackMap stack: java.io.IOException
        95: astore 4 /* err */
        start local 4 // java.io.IOException err
        96: .line 206
            new org.eclipse.jgit.errors.TransportException
            dup
        97: .line 207
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.failureUpdatingFETCH_HEAD:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* err */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aastore
        98: .line 206
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        99: .line 207
            aload 4 /* err */
       100: .line 206
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException err
       101: .line 210
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.jgit.lib.BatchRefUpdate batch
        end local 2 // org.eclipse.jgit.transport.FetchResult result
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  102     0            this  Lorg/eclipse/jgit/transport/FetchProcess;
            0  102     1         monitor  Lorg/eclipse/jgit/lib/ProgressMonitor;
            0  102     2          result  Lorg/eclipse/jgit/transport/FetchResult;
            4   41     3         matched  Ljava/util/Set<Lorg/eclipse/jgit/lib/Ref;>;
            6   13     4            spec  Lorg/eclipse/jgit/transport/RefSpec;
           15   41     4  additionalTags  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
           16   41     5          tagopt  Lorg/eclipse/jgit/transport/TagOpt;
           23   25     6    includedTags  Z
           26   41     6    includedTags  Z
           31   36     7               r  Lorg/eclipse/jgit/lib/Ref;
           32   36     9              id  Lorg/eclipse/jgit/lib/ObjectId;
           51  102     3           batch  Lorg/eclipse/jgit/lib/BatchRefUpdate;
           53   79     6            walk  Lorg/eclipse/jgit/revwalk/RevWalk;
           63   68     7             cmd  Lorg/eclipse/jgit/transport/ReceiveCommand;
           72   74     7             cmd  Lorg/eclipse/jgit/transport/ReceiveCommand;
           84   85     4               e  Lorg/eclipse/jgit/errors/TransportException;
           86   92     4             err  Ljava/io/IOException;
           96  101     4             err  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1    42      42  any
          53    77      78  any
          52    80      80  any
          51    83      83  Class org.eclipse.jgit.errors.TransportException
          51    83      85  Class java.io.IOException
          93    94      95  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jgit.errors.NotSupportedException, org.eclipse.jgit.errors.TransportException
    MethodParameters:
         Name  Flags
      monitor  final
      result   final

  private void addUpdateBatchCommands(org.eclipse.jgit.transport.FetchResult, org.eclipse.jgit.lib.BatchRefUpdate);
    descriptor: (Lorg/eclipse/jgit/transport/FetchResult;Lorg/eclipse/jgit/lib/BatchRefUpdate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.FetchResult result
        start local 2 // org.eclipse.jgit.lib.BatchRefUpdate batch
         0: .line 214
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* refs */
        start local 3 // java.util.Map refs
         1: .line 215
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.localUpdates:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.TrackingRefUpdate
            astore 4 /* u */
        start local 4 // org.eclipse.jgit.transport.TrackingRefUpdate u
         3: .line 217
            aload 3 /* refs */
            aload 4 /* u */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.getLocalName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectId
            astore 6 /* existing */
        start local 6 // org.eclipse.jgit.lib.ObjectId existing
         4: .line 218
            aload 6 /* existing */
            ifnonnull 9
         5: .line 219
            aload 3 /* refs */
            aload 4 /* u */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.getLocalName:()Ljava/lang/String;
            aload 4 /* u */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.getNewObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 220
            aload 1 /* result */
            aload 4 /* u */
            invokevirtual org.eclipse.jgit.transport.FetchResult.add:(Lorg/eclipse/jgit/transport/TrackingRefUpdate;)V
         7: .line 221
            aload 2 /* batch */
            aload 4 /* u */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.asReceiveCommand:()Lorg/eclipse/jgit/transport/ReceiveCommand;
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.addCommand:(Lorg/eclipse/jgit/transport/ReceiveCommand;)Lorg/eclipse/jgit/lib/BatchRefUpdate;
            pop
         8: .line 222
            goto 13
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.util.Map org.eclipse.jgit.transport.TrackingRefUpdate java.util.Iterator org.eclipse.jgit.lib.ObjectId
      StackMap stack:
         9: aload 6 /* existing */
            aload 4 /* u */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.getNewObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifne 13
        10: .line 223
            new org.eclipse.jgit.errors.TransportException
            dup
        11: .line 224
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.duplicateRef:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* u */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.getLocalName:()Ljava/lang/String;
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        12: .line 223
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.eclipse.jgit.lib.ObjectId existing
        end local 4 // org.eclipse.jgit.transport.TrackingRefUpdate u
        13: .line 215
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        14: .line 227
            return
        end local 3 // java.util.Map refs
        end local 2 // org.eclipse.jgit.lib.BatchRefUpdate batch
        end local 1 // org.eclipse.jgit.transport.FetchResult result
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   15     1    result  Lorg/eclipse/jgit/transport/FetchResult;
            0   15     2     batch  Lorg/eclipse/jgit/lib/BatchRefUpdate;
            1   15     3      refs  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/ObjectId;>;
            3   13     4         u  Lorg/eclipse/jgit/transport/TrackingRefUpdate;
            4   13     6  existing  Lorg/eclipse/jgit/lib/ObjectId;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    MethodParameters:
        Name  Flags
      result  
      batch   

  private void fetchObjects(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
         0: .line 232
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            new java.lang.StringBuilder
            dup
            ldc "jgit fetch "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            getfield org.eclipse.jgit.transport.Transport.uri:Lorg/eclipse/jgit/transport/URIish;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.setPackLockMessage:(Ljava/lang/String;)V
         1: .line 233
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            aload 1 /* monitor */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.have:Ljava/util/HashSet;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.fetch:(Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/util/Collection;Ljava/util/Set;)V
         2: .line 234
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 235
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.packLocks:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getPackLocks:()Ljava/util/Collection;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 236
            aload 2
            athrow
         6: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.packLocks:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getPackLocks:()Ljava/util/Collection;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 237
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.isCheckFetchedObjects:()Z
            ifeq 12
         8: .line 238
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.didFetchTestConnectivity:()Z
            ifne 12
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.askForIsComplete:()Z
            ifne 12
         9: .line 239
            new org.eclipse.jgit.errors.TransportException
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.getURI:()Lorg/eclipse/jgit/transport/URIish;
        10: .line 240
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.peerDidNotSupplyACompleteObjectGraph:Ljava/lang/String;
        11: .line 239
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;)V
            athrow
        12: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   13     1  monitor  Lorg/eclipse/jgit/lib/ProgressMonitor;
      Exception table:
        from    to  target  type
           0     3       3  any
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    MethodParameters:
         Name  Flags
      monitor  

  private void closeConnection(org.eclipse.jgit.transport.FetchResult);
    descriptor: (Lorg/eclipse/jgit/transport/FetchResult;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.FetchResult result
         0: .line 244
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            ifnull 4
         1: .line 245
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.close:()V
         2: .line 246
            aload 1 /* result */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getMessages:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.transport.FetchResult.addMessages:(Ljava/lang/String;)V
         3: .line 247
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
         4: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.transport.FetchResult result
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    5     1  result  Lorg/eclipse/jgit/transport/FetchResult;
    MethodParameters:
        Name  Flags
      result  

  private void reopenConnection();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
         0: .line 253
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            ifnull 2
         1: .line 254
            return
         2: .line 256
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.openFetch:()Lorg/eclipse/jgit/transport/FetchConnection;
            putfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
         3: .line 266
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* avail */
        start local 1 // java.util.HashMap avail
         4: .line 267
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getRefs:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.HashMap top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 2 /* r */
        start local 2 // org.eclipse.jgit.lib.Ref r
         6: .line 268
            aload 1 /* avail */
            aload 2 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 2 /* r */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // org.eclipse.jgit.lib.Ref r
         7: .line 267
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 270
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* wants */
        start local 2 // java.util.Collection wants
         9: .line 271
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
        10: .line 272
            aload 2 /* wants */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.HashMap java.util.Collection top java.util.Iterator
      StackMap stack:
        11: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 3 /* want */
        start local 3 // org.eclipse.jgit.lib.Ref want
        12: .line 273
            aload 1 /* avail */
            aload 3 /* want */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 5 /* newRef */
        start local 5 // org.eclipse.jgit.lib.Ref newRef
        13: .line 274
            aload 5 /* newRef */
            ifnull 16
        14: .line 275
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            aload 5 /* newRef */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 5 /* newRef */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 276
            goto 18
        16: .line 277
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.HashMap java.util.Collection org.eclipse.jgit.lib.Ref java.util.Iterator org.eclipse.jgit.lib.Ref
      StackMap stack:
            aload 0 /* this */
            aload 3 /* want */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.transport.FetchProcess.removeFetchHeadRecord:(Lorg/eclipse/jgit/lib/ObjectId;)V
        17: .line 278
            aload 0 /* this */
            aload 3 /* want */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.transport.FetchProcess.removeTrackingRefUpdate:(Lorg/eclipse/jgit/lib/ObjectId;)V
        end local 5 // org.eclipse.jgit.lib.Ref newRef
        end local 3 // org.eclipse.jgit.lib.Ref want
        18: .line 272
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.HashMap java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        19: .line 281
            return
        end local 2 // java.util.Collection wants
        end local 1 // java.util.HashMap avail
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lorg/eclipse/jgit/transport/FetchProcess;
            4   20     1   avail  Ljava/util/HashMap<Lorg/eclipse/jgit/lib/ObjectId;Lorg/eclipse/jgit/lib/Ref;>;
            6    7     2       r  Lorg/eclipse/jgit/lib/Ref;
            9   20     2   wants  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
           12   18     3    want  Lorg/eclipse/jgit/lib/Ref;
           13   18     5  newRef  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws org.eclipse.jgit.errors.NotSupportedException, org.eclipse.jgit.errors.TransportException

  private void removeTrackingRefUpdate(org.eclipse.jgit.lib.ObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectId;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.ObjectId want
         0: .line 284
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.localUpdates:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         1: .line 285
            goto 5
         2: .line 286
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.TrackingRefUpdate
            astore 3 /* u */
        start local 3 // org.eclipse.jgit.transport.TrackingRefUpdate u
         3: .line 287
            aload 3 /* u */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.getNewObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 1 /* want */
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifeq 5
         4: .line 288
            aload 2 /* i */
            invokeinterface java.util.Iterator.remove:()V
        end local 3 // org.eclipse.jgit.transport.TrackingRefUpdate u
         5: .line 285
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 290
            return
        end local 2 // java.util.Iterator i
        end local 1 // org.eclipse.jgit.lib.ObjectId want
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    7     1  want  Lorg/eclipse/jgit/lib/ObjectId;
            1    7     2     i  Ljava/util/Iterator<Lorg/eclipse/jgit/transport/TrackingRefUpdate;>;
            3    5     3     u  Lorg/eclipse/jgit/transport/TrackingRefUpdate;
    MethodParameters:
      Name  Flags
      want  

  private void removeFetchHeadRecord(org.eclipse.jgit.lib.ObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectId;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.ObjectId want
         0: .line 293
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.fetchHeadUpdates:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         1: .line 294
            goto 5
         2: .line 295
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.FetchHeadRecord
            astore 3 /* fh */
        start local 3 // org.eclipse.jgit.transport.FetchHeadRecord fh
         3: .line 296
            aload 3 /* fh */
            getfield org.eclipse.jgit.transport.FetchHeadRecord.newValue:Lorg/eclipse/jgit/lib/ObjectId;
            aload 1 /* want */
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifeq 5
         4: .line 297
            aload 2 /* i */
            invokeinterface java.util.Iterator.remove:()V
        end local 3 // org.eclipse.jgit.transport.FetchHeadRecord fh
         5: .line 294
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 299
            return
        end local 2 // java.util.Iterator i
        end local 1 // org.eclipse.jgit.lib.ObjectId want
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    7     1  want  Lorg/eclipse/jgit/lib/ObjectId;
            1    7     2     i  Ljava/util/Iterator<Lorg/eclipse/jgit/transport/FetchHeadRecord;>;
            3    5     3    fh  Lorg/eclipse/jgit/transport/FetchHeadRecord;
    MethodParameters:
      Name  Flags
      want  

  private void updateFETCH_HEAD(org.eclipse.jgit.transport.FetchResult);
    descriptor: (Lorg/eclipse/jgit/transport/FetchResult;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.FetchResult result
         0: .line 302
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            getfield org.eclipse.jgit.transport.Transport.local:Lorg/eclipse/jgit/lib/Repository;
            invokevirtual org.eclipse.jgit.lib.Repository.getDirectory:()Ljava/io/File;
            astore 2 /* meta */
        start local 2 // java.io.File meta
         1: .line 303
            aload 2 /* meta */
            ifnonnull 3
         2: .line 304
            return
         3: .line 305
      StackMap locals: java.io.File
      StackMap stack:
            new org.eclipse.jgit.internal.storage.file.LockFile
            dup
            new java.io.File
            dup
            aload 2 /* meta */
            ldc "FETCH_HEAD"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokespecial org.eclipse.jgit.internal.storage.file.LockFile.<init>:(Ljava/io/File;)V
            astore 3 /* lock */
        start local 3 // org.eclipse.jgit.internal.storage.file.LockFile lock
         4: .line 307
            aload 3 /* lock */
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.lock:()Z
            ifeq 25
         5: .line 308
            aconst_null
            astore 4
            aconst_null
            astore 5
         6: new java.io.OutputStreamWriter
            dup
         7: .line 309
            aload 3 /* lock */
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.getOutputStream:()Ljava/io/OutputStream;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
         8: .line 308
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
            astore 6 /* w */
        start local 6 // java.io.Writer w
         9: .line 310
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.fetchHeadUpdates:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult java.io.File org.eclipse.jgit.internal.storage.file.LockFile java.lang.Throwable java.lang.Throwable java.io.Writer top java.util.Iterator
      StackMap stack:
        10: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.FetchHeadRecord
            astore 7 /* h */
        start local 7 // org.eclipse.jgit.transport.FetchHeadRecord h
        11: .line 311
            aload 7 /* h */
            aload 6 /* w */
            invokevirtual org.eclipse.jgit.transport.FetchHeadRecord.write:(Ljava/io/Writer;)V
        12: .line 312
            aload 1 /* result */
            aload 7 /* h */
            invokevirtual org.eclipse.jgit.transport.FetchResult.add:(Lorg/eclipse/jgit/transport/FetchHeadRecord;)V
        end local 7 // org.eclipse.jgit.transport.FetchHeadRecord h
        13: .line 310
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 314
            aload 6 /* w */
            ifnull 20
            aload 6 /* w */
            invokevirtual java.io.Writer.close:()V
            goto 20
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult java.io.File org.eclipse.jgit.internal.storage.file.LockFile java.lang.Throwable java.lang.Throwable java.io.Writer
      StackMap stack: java.lang.Throwable
        15: astore 4
            aload 6 /* w */
            ifnull 16
            aload 6 /* w */
            invokevirtual java.io.Writer.close:()V
        end local 6 // java.io.Writer w
      StackMap locals:
      StackMap stack:
        16: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 5
            aload 4
            ifnonnull 18
            aload 5
            astore 4
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 4
            aload 5
            if_acmpeq 19
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 4
            athrow
        20: .line 315
      StackMap locals:
      StackMap stack:
            aload 3 /* lock */
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.commit:()Z
            pop
        21: .line 317
            goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 9
        23: .line 318
            aload 3 /* lock */
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.unlock:()V
        24: .line 319
            aload 9
            athrow
        25: .line 318
      StackMap locals:
      StackMap stack:
            aload 3 /* lock */
            invokevirtual org.eclipse.jgit.internal.storage.file.LockFile.unlock:()V
        26: .line 320
            return
        end local 3 // org.eclipse.jgit.internal.storage.file.LockFile lock
        end local 2 // java.io.File meta
        end local 1 // org.eclipse.jgit.transport.FetchResult result
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   27     1  result  Lorg/eclipse/jgit/transport/FetchResult;
            1   27     2    meta  Ljava/io/File;
            4   27     3    lock  Lorg/eclipse/jgit/internal/storage/file/LockFile;
            9   16     6       w  Ljava/io/Writer;
           11   13     7       h  Lorg/eclipse/jgit/transport/FetchHeadRecord;
      Exception table:
        from    to  target  type
           9    14      15  any
           6    17      17  any
           4    22      22  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      result  

  private boolean askForIsComplete();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
         0: .line 324
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new org.eclipse.jgit.revwalk.ObjectWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            getfield org.eclipse.jgit.transport.Transport.local:Lorg/eclipse/jgit/lib/Repository;
            invokespecial org.eclipse.jgit.revwalk.ObjectWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 3 /* ow */
        start local 3 // org.eclipse.jgit.revwalk.ObjectWalk ow
         2: .line 325
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.lang.Throwable java.lang.Throwable org.eclipse.jgit.revwalk.ObjectWalk top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectId
            astore 4 /* want */
        start local 4 // org.eclipse.jgit.lib.ObjectId want
         4: .line 326
            aload 3 /* ow */
            aload 3 /* ow */
            aload 4 /* want */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevObject;)V
        end local 4 // org.eclipse.jgit.lib.ObjectId want
         5: .line 325
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 327
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.localRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 4 /* ref */
        start local 4 // org.eclipse.jgit.lib.Ref ref
         8: .line 328
            aload 3 /* ow */
            aload 3 /* ow */
            aload 4 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markUninteresting:(Lorg/eclipse/jgit/revwalk/RevObject;)V
        end local 4 // org.eclipse.jgit.lib.Ref ref
         9: .line 327
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 329
            aload 3 /* ow */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.checkConnectivity:()V
        11: .line 330
            aload 3 /* ow */
            ifnull 17
            aload 3 /* ow */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.close:()V
            goto 17
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.lang.Throwable java.lang.Throwable org.eclipse.jgit.revwalk.ObjectWalk
      StackMap stack: java.lang.Throwable
        12: astore 1
            aload 3 /* ow */
            ifnull 13
            aload 3 /* ow */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.close:()V
        end local 3 // org.eclipse.jgit.revwalk.ObjectWalk ow
      StackMap locals:
      StackMap stack:
        13: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 1
            ifnonnull 15
            aload 2
            astore 1
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 1
            aload 2
            if_acmpeq 16
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 1
            athrow
        17: .line 331
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        18: .line 332
      StackMap locals:
      StackMap stack: org.eclipse.jgit.errors.MissingObjectException
            pop
        19: .line 333
            iconst_0
            ireturn
        20: .line 334
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        21: .line 335
            new org.eclipse.jgit.errors.TransportException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unableToCheckConnectivity:Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            2   13     3    ow  Lorg/eclipse/jgit/revwalk/ObjectWalk;
            4    5     4  want  Lorg/eclipse/jgit/lib/ObjectId;
            8    9     4   ref  Lorg/eclipse/jgit/lib/Ref;
           21   22     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2    11      12  any
           1    14      14  any
           0    17      18  Class org.eclipse.jgit.errors.MissingObjectException
           0    17      20  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException

  private void expandWildcard(org.eclipse.jgit.transport.RefSpec, java.util.Set<org.eclipse.jgit.lib.Ref>);
    descriptor: (Lorg/eclipse/jgit/transport/RefSpec;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.RefSpec spec
        start local 2 // java.util.Set matched
         0: .line 341
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getRefs:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.RefSpec java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 3 /* src */
        start local 3 // org.eclipse.jgit.lib.Ref src
         2: .line 342
            aload 1 /* spec */
            aload 3 /* src */
            invokevirtual org.eclipse.jgit.transport.RefSpec.matchSource:(Lorg/eclipse/jgit/lib/Ref;)Z
            ifeq 4
            aload 2 /* matched */
            aload 3 /* src */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 343
            aload 0 /* this */
            aload 3 /* src */
            aload 1 /* spec */
            aload 3 /* src */
            invokevirtual org.eclipse.jgit.transport.RefSpec.expandFromSource:(Lorg/eclipse/jgit/lib/Ref;)Lorg/eclipse/jgit/transport/RefSpec;
            invokevirtual org.eclipse.jgit.transport.FetchProcess.want:(Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/transport/RefSpec;)V
        end local 3 // org.eclipse.jgit.lib.Ref src
         4: .line 341
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 345
            return
        end local 2 // java.util.Set matched
        end local 1 // org.eclipse.jgit.transport.RefSpec spec
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    6     1     spec  Lorg/eclipse/jgit/transport/RefSpec;
            0    6     2  matched  Ljava/util/Set<Lorg/eclipse/jgit/lib/Ref;>;
            2    4     3      src  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    Signature: (Lorg/eclipse/jgit/transport/RefSpec;Ljava/util/Set<Lorg/eclipse/jgit/lib/Ref;>;)V
    MethodParameters:
         Name  Flags
      spec     
      matched  

  private void expandSingle(org.eclipse.jgit.transport.RefSpec, java.util.Set<org.eclipse.jgit.lib.Ref>);
    descriptor: (Lorg/eclipse/jgit/transport/RefSpec;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.RefSpec spec
        start local 2 // java.util.Set matched
         0: .line 349
            aload 1 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getSource:()Ljava/lang/String;
            astore 3 /* want */
        start local 3 // java.lang.String want
         1: .line 350
            aload 3 /* want */
            invokestatic org.eclipse.jgit.lib.ObjectId.isId:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 351
            aload 0 /* this */
            aload 3 /* want */
            invokestatic org.eclipse.jgit.lib.ObjectId.fromString:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.transport.FetchProcess.want:(Lorg/eclipse/jgit/lib/ObjectId;)V
         3: .line 352
            return
         4: .line 355
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            aload 3 /* want */
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getRef:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/Ref;
            astore 4 /* src */
        start local 4 // org.eclipse.jgit.lib.Ref src
         5: .line 356
            aload 4 /* src */
            ifnonnull 7
         6: .line 357
            new org.eclipse.jgit.errors.TransportException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.remoteDoesNotHaveSpec:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* want */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 359
      StackMap locals: org.eclipse.jgit.lib.Ref
      StackMap stack:
            aload 2 /* matched */
            aload 4 /* src */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 360
            aload 0 /* this */
            aload 4 /* src */
            aload 1 /* spec */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.want:(Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/transport/RefSpec;)V
         9: .line 362
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jgit.lib.Ref src
        end local 3 // java.lang.String want
        end local 2 // java.util.Set matched
        end local 1 // org.eclipse.jgit.transport.RefSpec spec
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   10     1     spec  Lorg/eclipse/jgit/transport/RefSpec;
            0   10     2  matched  Ljava/util/Set<Lorg/eclipse/jgit/lib/Ref;>;
            1   10     3     want  Ljava/lang/String;
            5   10     4      src  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    Signature: (Lorg/eclipse/jgit/transport/RefSpec;Ljava/util/Set<Lorg/eclipse/jgit/lib/Ref;>;)V
    MethodParameters:
         Name  Flags
      spec     
      matched  

  private boolean localHasObject(org.eclipse.jgit.lib.ObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectId;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.ObjectId id
         0: .line 366
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            getfield org.eclipse.jgit.transport.Transport.local:Lorg/eclipse/jgit/lib/Repository;
            invokevirtual org.eclipse.jgit.lib.Repository.getObjectDatabase:()Lorg/eclipse/jgit/lib/ObjectDatabase;
            aload 1 /* id */
            invokevirtual org.eclipse.jgit.lib.ObjectDatabase.has:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
         1: ireturn
         2: .line 367
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* err */
        start local 2 // java.io.IOException err
         3: .line 368
            new org.eclipse.jgit.errors.TransportException
            dup
         4: .line 370
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.readingObjectsFromLocalRepositoryFailed:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 371
            aload 2 /* err */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aastore
         6: .line 369
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         7: .line 372
            aload 2 /* err */
         8: .line 368
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.io.IOException err
        end local 1 // org.eclipse.jgit.lib.ObjectId id
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    9     1    id  Lorg/eclipse/jgit/lib/ObjectId;
            3    9     2   err  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    MethodParameters:
      Name  Flags
      id    

  private java.util.Collection<org.eclipse.jgit.lib.Ref> expandAutoFollowTags();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
         0: .line 377
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* additionalTags */
        start local 1 // java.util.Collection additionalTags
         1: .line 378
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.localRefs:()Ljava/util/Map;
            astore 2 /* haveRefs */
        start local 2 // java.util.Map haveRefs
         2: .line 379
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getRefs:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 3 /* r */
        start local 3 // org.eclipse.jgit.lib.Ref r
         4: .line 380
            aload 3 /* r */
            invokestatic org.eclipse.jgit.transport.FetchProcess.isTag:(Lorg/eclipse/jgit/lib/Ref;)Z
            ifne 6
         5: .line 381
            goto 15
         6: .line 383
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.Collection java.util.Map org.eclipse.jgit.lib.Ref java.util.Iterator
      StackMap stack:
            aload 2 /* haveRefs */
            aload 3 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 5 /* local */
        start local 5 // org.eclipse.jgit.lib.Ref local
         7: .line 384
            aload 5 /* local */
            ifnull 9
         8: .line 387
            goto 15
         9: .line 389
      StackMap locals: org.eclipse.jgit.lib.Ref
      StackMap stack:
            aload 3 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getPeeledObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 6 /* obj */
        start local 6 // org.eclipse.jgit.lib.ObjectId obj
        10: .line 390
            aload 6 /* obj */
            ifnonnull 12
        11: .line 391
            aload 3 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 6 /* obj */
        12: .line 393
      StackMap locals: org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            aload 6 /* obj */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 13
            aload 0 /* this */
            aload 6 /* obj */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.localHasObject:(Lorg/eclipse/jgit/lib/ObjectId;)Z
            ifeq 14
        13: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* r */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.wantTag:(Lorg/eclipse/jgit/lib/Ref;)V
            goto 15
        14: .line 396
      StackMap locals:
      StackMap stack:
            aload 1 /* additionalTags */
            aload 3 /* r */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.eclipse.jgit.lib.ObjectId obj
        end local 5 // org.eclipse.jgit.lib.Ref local
        end local 3 // org.eclipse.jgit.lib.Ref r
        15: .line 379
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        16: .line 398
            aload 1 /* additionalTags */
            areturn
        end local 2 // java.util.Map haveRefs
        end local 1 // java.util.Collection additionalTags
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lorg/eclipse/jgit/transport/FetchProcess;
            1   17     1  additionalTags  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
            2   17     2        haveRefs  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/Ref;>;
            4   15     3               r  Lorg/eclipse/jgit/lib/Ref;
            7   15     5           local  Lorg/eclipse/jgit/lib/Ref;
           10   15     6             obj  Lorg/eclipse/jgit/lib/ObjectId;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;

  private void expandFetchTags();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
         0: .line 402
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.localRefs:()Ljava/util/Map;
            astore 1 /* haveRefs */
        start local 1 // java.util.Map haveRefs
         1: .line 403
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.conn:Lorg/eclipse/jgit/transport/FetchConnection;
            invokeinterface org.eclipse.jgit.transport.FetchConnection.getRefs:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 2 /* r */
        start local 2 // org.eclipse.jgit.lib.Ref r
         3: .line 404
            aload 2 /* r */
            invokestatic org.eclipse.jgit.transport.FetchProcess.isTag:(Lorg/eclipse/jgit/lib/Ref;)Z
            ifne 5
         4: .line 405
            goto 11
         5: .line 407
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.Map org.eclipse.jgit.lib.Ref java.util.Iterator
      StackMap stack:
            aload 2 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 4 /* id */
        start local 4 // org.eclipse.jgit.lib.ObjectId id
         6: .line 408
            aload 4 /* id */
            ifnonnull 8
         7: .line 409
            goto 11
         8: .line 411
      StackMap locals: org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 1 /* haveRefs */
            aload 2 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 5 /* local */
        start local 5 // org.eclipse.jgit.lib.Ref local
         9: .line 412
            aload 5 /* local */
            ifnull 10
            aload 4 /* id */
            aload 5 /* local */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifne 11
        10: .line 413
      StackMap locals: org.eclipse.jgit.lib.Ref
      StackMap stack:
            aload 0 /* this */
            aload 2 /* r */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.wantTag:(Lorg/eclipse/jgit/lib/Ref;)V
        end local 5 // org.eclipse.jgit.lib.Ref local
        end local 4 // org.eclipse.jgit.lib.ObjectId id
        end local 2 // org.eclipse.jgit.lib.Ref r
        11: .line 403
      StackMap locals: org.eclipse.jgit.transport.FetchProcess java.util.Map top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 416
            return
        end local 1 // java.util.Map haveRefs
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/eclipse/jgit/transport/FetchProcess;
            1   13     1  haveRefs  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/Ref;>;
            3   11     2         r  Lorg/eclipse/jgit/lib/Ref;
            6   11     4        id  Lorg/eclipse/jgit/lib/ObjectId;
            9   11     5     local  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException

  private void wantTag(org.eclipse.jgit.lib.Ref);
    descriptor: (Lorg/eclipse/jgit/lib/Ref;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.Ref r
         0: .line 419
            aload 0 /* this */
            aload 1 /* r */
            new org.eclipse.jgit.transport.RefSpec
            dup
            invokespecial org.eclipse.jgit.transport.RefSpec.<init>:()V
            aload 1 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.transport.RefSpec.setSource:(Ljava/lang/String;)Lorg/eclipse/jgit/transport/RefSpec;
         1: .line 420
            aload 1 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.transport.RefSpec.setDestination:(Ljava/lang/String;)Lorg/eclipse/jgit/transport/RefSpec;
            iconst_1
            invokevirtual org.eclipse.jgit.transport.RefSpec.setForceUpdate:(Z)Lorg/eclipse/jgit/transport/RefSpec;
         2: .line 419
            invokevirtual org.eclipse.jgit.transport.FetchProcess.want:(Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/transport/RefSpec;)V
         3: .line 421
            return
        end local 1 // org.eclipse.jgit.lib.Ref r
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    4     1     r  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    MethodParameters:
      Name  Flags
      r     

  private void want(org.eclipse.jgit.lib.Ref, org.eclipse.jgit.transport.RefSpec);
    descriptor: (Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/transport/RefSpec;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.Ref src
        start local 2 // org.eclipse.jgit.transport.RefSpec spec
         0: .line 425
            aload 1 /* src */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 3 /* newId */
        start local 3 // org.eclipse.jgit.lib.ObjectId newId
         1: .line 426
            aload 3 /* newId */
            ifnonnull 6
         2: .line 427
            new java.lang.NullPointerException
            dup
         3: .line 428
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.transportProvidedRefWithNoObjectId:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 429
            aload 1 /* src */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            aastore
         5: .line 427
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 431
      StackMap locals: org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 2 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getDestination:()Ljava/lang/String;
            ifnull 11
         7: .line 432
            aload 0 /* this */
            aload 2 /* spec */
            aload 3 /* newId */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.createUpdate:(Lorg/eclipse/jgit/transport/RefSpec;Lorg/eclipse/jgit/lib/ObjectId;)Lorg/eclipse/jgit/transport/TrackingRefUpdate;
            astore 4 /* tru */
        start local 4 // org.eclipse.jgit.transport.TrackingRefUpdate tru
         8: .line 433
            aload 3 /* newId */
            aload 4 /* tru */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.getOldObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifeq 10
         9: .line 434
            return
        10: .line 435
      StackMap locals: org.eclipse.jgit.transport.TrackingRefUpdate
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.localUpdates:Ljava/util/ArrayList;
            aload 4 /* tru */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.eclipse.jgit.transport.TrackingRefUpdate tru
        11: .line 438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            aload 3 /* newId */
            aload 1 /* src */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 440
            new org.eclipse.jgit.transport.FetchHeadRecord
            dup
            invokespecial org.eclipse.jgit.transport.FetchHeadRecord.<init>:()V
            astore 4 /* fhr */
        start local 4 // org.eclipse.jgit.transport.FetchHeadRecord fhr
        13: .line 441
            aload 4 /* fhr */
            aload 3 /* newId */
            putfield org.eclipse.jgit.transport.FetchHeadRecord.newValue:Lorg/eclipse/jgit/lib/ObjectId;
        14: .line 442
            aload 4 /* fhr */
            aload 2 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getDestination:()Ljava/lang/String;
            ifnull 15
            iconst_1
            goto 16
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.Ref org.eclipse.jgit.transport.RefSpec org.eclipse.jgit.lib.ObjectId org.eclipse.jgit.transport.FetchHeadRecord
      StackMap stack: org.eclipse.jgit.transport.FetchHeadRecord
        15: iconst_0
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.lib.Ref org.eclipse.jgit.transport.RefSpec org.eclipse.jgit.lib.ObjectId org.eclipse.jgit.transport.FetchHeadRecord
      StackMap stack: org.eclipse.jgit.transport.FetchHeadRecord int
        16: putfield org.eclipse.jgit.transport.FetchHeadRecord.notForMerge:Z
        17: .line 443
            aload 4 /* fhr */
            aload 1 /* src */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            putfield org.eclipse.jgit.transport.FetchHeadRecord.sourceName:Ljava/lang/String;
        18: .line 444
            aload 4 /* fhr */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.getURI:()Lorg/eclipse/jgit/transport/URIish;
            putfield org.eclipse.jgit.transport.FetchHeadRecord.sourceURI:Lorg/eclipse/jgit/transport/URIish;
        19: .line 445
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.fetchHeadUpdates:Ljava/util/ArrayList;
            aload 4 /* fhr */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        20: .line 446
            return
        end local 4 // org.eclipse.jgit.transport.FetchHeadRecord fhr
        end local 3 // org.eclipse.jgit.lib.ObjectId newId
        end local 2 // org.eclipse.jgit.transport.RefSpec spec
        end local 1 // org.eclipse.jgit.lib.Ref src
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   21     0   this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   21     1    src  Lorg/eclipse/jgit/lib/Ref;
            0   21     2   spec  Lorg/eclipse/jgit/transport/RefSpec;
            1   21     3  newId  Lorg/eclipse/jgit/lib/ObjectId;
            8   11     4    tru  Lorg/eclipse/jgit/transport/TrackingRefUpdate;
           13   21     4    fhr  Lorg/eclipse/jgit/transport/FetchHeadRecord;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    MethodParameters:
      Name  Flags
      src   
      spec  

  private void want(org.eclipse.jgit.lib.ObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectId;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.lib.ObjectId id
         0: .line 449
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.askFor:Ljava/util/HashMap;
            aload 1 /* id */
         1: .line 450
            new org.eclipse.jgit.lib.ObjectIdRef$Unpeeled
            dup
            getstatic org.eclipse.jgit.lib.Ref$Storage.NETWORK:Lorg/eclipse/jgit/lib/Ref$Storage;
            aload 1 /* id */
            invokevirtual org.eclipse.jgit.lib.ObjectId.name:()Ljava/lang/String;
            aload 1 /* id */
            invokespecial org.eclipse.jgit.lib.ObjectIdRef$Unpeeled.<init>:(Lorg/eclipse/jgit/lib/Ref$Storage;Ljava/lang/String;Lorg/eclipse/jgit/lib/ObjectId;)V
         2: .line 449
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 451
            return
        end local 1 // org.eclipse.jgit.lib.ObjectId id
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            0    4     1    id  Lorg/eclipse/jgit/lib/ObjectId;
    MethodParameters:
      Name  Flags
      id    

  private org.eclipse.jgit.transport.TrackingRefUpdate createUpdate(org.eclipse.jgit.transport.RefSpec, org.eclipse.jgit.lib.ObjectId);
    descriptor: (Lorg/eclipse/jgit/transport/RefSpec;Lorg/eclipse/jgit/lib/ObjectId;)Lorg/eclipse/jgit/transport/TrackingRefUpdate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.RefSpec spec
        start local 2 // org.eclipse.jgit.lib.ObjectId newId
         0: .line 455
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.localRefs:()Ljava/util/Map;
            aload 1 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getDestination:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 3 /* ref */
        start local 3 // org.eclipse.jgit.lib.Ref ref
         1: .line 456
            aload 3 /* ref */
            ifnull 3
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            ifnull 3
         2: .line 457
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            goto 4
         3: .line 458
      StackMap locals: org.eclipse.jgit.lib.Ref
      StackMap stack:
            invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
         4: .line 456
      StackMap locals:
      StackMap stack: org.eclipse.jgit.lib.ObjectId
            astore 4 /* oldId */
        start local 4 // org.eclipse.jgit.lib.ObjectId oldId
         5: .line 459
            new org.eclipse.jgit.transport.TrackingRefUpdate
            dup
         6: .line 460
            aload 1 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.isForceUpdate:()Z
         7: .line 461
            aload 1 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getSource:()Ljava/lang/String;
         8: .line 462
            aload 1 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getDestination:()Ljava/lang/String;
         9: .line 463
            aload 4 /* oldId */
        10: .line 464
            aload 2 /* newId */
        11: .line 459
            invokespecial org.eclipse.jgit.transport.TrackingRefUpdate.<init>:(ZLjava/lang/String;Ljava/lang/String;Lorg/eclipse/jgit/lib/AnyObjectId;Lorg/eclipse/jgit/lib/AnyObjectId;)V
            areturn
        end local 4 // org.eclipse.jgit.lib.ObjectId oldId
        end local 3 // org.eclipse.jgit.lib.Ref ref
        end local 2 // org.eclipse.jgit.lib.ObjectId newId
        end local 1 // org.eclipse.jgit.transport.RefSpec spec
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   12     1   spec  Lorg/eclipse/jgit/transport/RefSpec;
            0   12     2  newId  Lorg/eclipse/jgit/lib/ObjectId;
            1   12     3    ref  Lorg/eclipse/jgit/lib/Ref;
            5   12     4  oldId  Lorg/eclipse/jgit/lib/ObjectId;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    MethodParameters:
       Name  Flags
      spec   
      newId  

  private java.util.Map<java.lang.String, org.eclipse.jgit.lib.Ref> localRefs();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
         0: .line 468
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.localRefs:Ljava/util/Map;
            ifnonnull 7
         1: .line 470
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            getfield org.eclipse.jgit.transport.Transport.local:Lorg/eclipse/jgit/lib/Repository;
            invokevirtual org.eclipse.jgit.lib.Repository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
         2: .line 471
            ldc ""
            invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefs:(Ljava/lang/String;)Ljava/util/Map;
         3: .line 470
            putfield org.eclipse.jgit.transport.FetchProcess.localRefs:Ljava/util/Map;
         4: .line 472
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 1 /* err */
        start local 1 // java.io.IOException err
         6: .line 473
            new org.eclipse.jgit.errors.TransportException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.cannotListRefs:Ljava/lang/String;
            aload 1 /* err */
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException err
         7: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.localRefs:Ljava/util/Map;
            areturn
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jgit/transport/FetchProcess;
            6    7     1   err  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.io.IOException
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/Ref;>;

  private void deleteStaleTrackingRefs(org.eclipse.jgit.transport.FetchResult, org.eclipse.jgit.lib.BatchRefUpdate);
    descriptor: (Lorg/eclipse/jgit/transport/FetchResult;Lorg/eclipse/jgit/lib/BatchRefUpdate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.FetchResult result
        start local 2 // org.eclipse.jgit.lib.BatchRefUpdate batch
         0: .line 481
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* processed */
        start local 3 // java.util.Set processed
         1: .line 482
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.localRefs:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 4 /* ref */
        start local 4 // org.eclipse.jgit.lib.Ref ref
         3: .line 483
            aload 4 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifeq 5
         4: .line 484
            goto 14
         5: .line 486
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.util.Set org.eclipse.jgit.lib.Ref java.util.Iterator
      StackMap stack:
            aload 4 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            astore 6 /* refname */
        start local 6 // java.lang.String refname
         6: .line 487
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.FetchProcess.toFetch:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.util.Set org.eclipse.jgit.lib.Ref java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
         7: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RefSpec
            astore 7 /* spec */
        start local 7 // org.eclipse.jgit.transport.RefSpec spec
         8: .line 488
            aload 7 /* spec */
            aload 6 /* refname */
            invokevirtual org.eclipse.jgit.transport.RefSpec.matchDestination:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 489
            aload 7 /* spec */
            aload 6 /* refname */
            invokevirtual org.eclipse.jgit.transport.RefSpec.expandFromDestination:(Ljava/lang/String;)Lorg/eclipse/jgit/transport/RefSpec;
            astore 9 /* s */
        start local 9 // org.eclipse.jgit.transport.RefSpec s
        10: .line 490
            aload 1 /* result */
            aload 9 /* s */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getSource:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.transport.FetchResult.getAdvertisedRef:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/Ref;
            ifnonnull 13
        11: .line 491
            aload 3 /* processed */
            aload 4 /* ref */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 492
            aload 0 /* this */
            aload 1 /* result */
            aload 2 /* batch */
            aload 9 /* s */
            aload 4 /* ref */
            invokevirtual org.eclipse.jgit.transport.FetchProcess.deleteTrackingRef:(Lorg/eclipse/jgit/transport/FetchResult;Lorg/eclipse/jgit/lib/BatchRefUpdate;Lorg/eclipse/jgit/transport/RefSpec;Lorg/eclipse/jgit/lib/Ref;)V
        end local 9 // org.eclipse.jgit.transport.RefSpec s
        end local 7 // org.eclipse.jgit.transport.RefSpec spec
        13: .line 487
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 6 // java.lang.String refname
        end local 4 // org.eclipse.jgit.lib.Ref ref
        14: .line 482
      StackMap locals: org.eclipse.jgit.transport.FetchProcess org.eclipse.jgit.transport.FetchResult org.eclipse.jgit.lib.BatchRefUpdate java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        15: .line 497
            return
        end local 3 // java.util.Set processed
        end local 2 // org.eclipse.jgit.lib.BatchRefUpdate batch
        end local 1 // org.eclipse.jgit.transport.FetchResult result
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   16     1     result  Lorg/eclipse/jgit/transport/FetchResult;
            0   16     2      batch  Lorg/eclipse/jgit/lib/BatchRefUpdate;
            1   16     3  processed  Ljava/util/Set<Lorg/eclipse/jgit/lib/Ref;>;
            3   14     4        ref  Lorg/eclipse/jgit/lib/Ref;
            6   14     6    refname  Ljava/lang/String;
            8   13     7       spec  Lorg/eclipse/jgit/transport/RefSpec;
           10   13     9          s  Lorg/eclipse/jgit/transport/RefSpec;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      result  
      batch   

  private void deleteTrackingRef(org.eclipse.jgit.transport.FetchResult, org.eclipse.jgit.lib.BatchRefUpdate, org.eclipse.jgit.transport.RefSpec, org.eclipse.jgit.lib.Ref);
    descriptor: (Lorg/eclipse/jgit/transport/FetchResult;Lorg/eclipse/jgit/lib/BatchRefUpdate;Lorg/eclipse/jgit/transport/RefSpec;Lorg/eclipse/jgit/lib/Ref;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.eclipse.jgit.transport.FetchProcess this
        start local 1 // org.eclipse.jgit.transport.FetchResult result
        start local 2 // org.eclipse.jgit.lib.BatchRefUpdate batch
        start local 3 // org.eclipse.jgit.transport.RefSpec spec
        start local 4 // org.eclipse.jgit.lib.Ref localRef
         0: .line 501
            aload 4 /* localRef */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            ifnonnull 2
         1: .line 502
            return
         2: .line 503
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.transport.TrackingRefUpdate
            dup
         3: .line 504
            iconst_1
         4: .line 505
            aload 3 /* spec */
            invokevirtual org.eclipse.jgit.transport.RefSpec.getSource:()Ljava/lang/String;
         5: .line 506
            aload 4 /* localRef */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
         6: .line 507
            aload 4 /* localRef */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
         7: .line 508
            invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
         8: .line 503
            invokespecial org.eclipse.jgit.transport.TrackingRefUpdate.<init>:(ZLjava/lang/String;Ljava/lang/String;Lorg/eclipse/jgit/lib/AnyObjectId;Lorg/eclipse/jgit/lib/AnyObjectId;)V
            astore 5 /* update */
        start local 5 // org.eclipse.jgit.transport.TrackingRefUpdate update
         9: .line 509
            aload 1 /* result */
            aload 5 /* update */
            invokevirtual org.eclipse.jgit.transport.FetchResult.add:(Lorg/eclipse/jgit/transport/TrackingRefUpdate;)V
        10: .line 510
            aload 2 /* batch */
            aload 5 /* update */
            invokevirtual org.eclipse.jgit.transport.TrackingRefUpdate.asReceiveCommand:()Lorg/eclipse/jgit/transport/ReceiveCommand;
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.addCommand:(Lorg/eclipse/jgit/transport/ReceiveCommand;)Lorg/eclipse/jgit/lib/BatchRefUpdate;
            pop
        11: .line 511
            return
        end local 5 // org.eclipse.jgit.transport.TrackingRefUpdate update
        end local 4 // org.eclipse.jgit.lib.Ref localRef
        end local 3 // org.eclipse.jgit.transport.RefSpec spec
        end local 2 // org.eclipse.jgit.lib.BatchRefUpdate batch
        end local 1 // org.eclipse.jgit.transport.FetchResult result
        end local 0 // org.eclipse.jgit.transport.FetchProcess this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/eclipse/jgit/transport/FetchProcess;
            0   12     1    result  Lorg/eclipse/jgit/transport/FetchResult;
            0   12     2     batch  Lorg/eclipse/jgit/lib/BatchRefUpdate;
            0   12     3      spec  Lorg/eclipse/jgit/transport/RefSpec;
            0   12     4  localRef  Lorg/eclipse/jgit/lib/Ref;
            9   12     5    update  Lorg/eclipse/jgit/transport/TrackingRefUpdate;
    MethodParameters:
          Name  Flags
      result    final
      batch     final
      spec      final
      localRef  final

  private static boolean isTag(org.eclipse.jgit.lib.Ref);
    descriptor: (Lorg/eclipse/jgit/lib/Ref;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.Ref r
         0: .line 514
            aload 0 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jgit.transport.FetchProcess.isTag:(Ljava/lang/String;)Z
            ireturn
        end local 0 // org.eclipse.jgit.lib.Ref r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     r  Lorg/eclipse/jgit/lib/Ref;
    MethodParameters:
      Name  Flags
      r     

  private static boolean isTag(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 518
            aload 0 /* name */
            ldc "refs/tags/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private static java.lang.String getFirstFailedRefName(org.eclipse.jgit.lib.BatchRefUpdate);
    descriptor: (Lorg/eclipse/jgit/lib/BatchRefUpdate;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jgit.lib.BatchRefUpdate batch
         0: .line 522
            aload 0 /* batch */
            invokevirtual org.eclipse.jgit.lib.BatchRefUpdate.getCommands:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.eclipse.jgit.lib.BatchRefUpdate top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.ReceiveCommand
            astore 1 /* cmd */
        start local 1 // org.eclipse.jgit.transport.ReceiveCommand cmd
         2: .line 523
            aload 1 /* cmd */
            invokevirtual org.eclipse.jgit.transport.ReceiveCommand.getResult:()Lorg/eclipse/jgit/transport/ReceiveCommand$Result;
            getstatic org.eclipse.jgit.transport.ReceiveCommand$Result.OK:Lorg/eclipse/jgit/transport/ReceiveCommand$Result;
            if_acmpeq 4
         3: .line 524
            aload 1 /* cmd */
            invokevirtual org.eclipse.jgit.transport.ReceiveCommand.getRefName:()Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jgit.transport.ReceiveCommand cmd
         4: .line 522
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 526
            ldc ""
            areturn
        end local 0 // org.eclipse.jgit.lib.BatchRefUpdate batch
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  batch  Lorg/eclipse/jgit/lib/BatchRefUpdate;
            2    4     1    cmd  Lorg/eclipse/jgit/transport/ReceiveCommand;
    MethodParameters:
       Name  Flags
      batch  
}
SourceFile: "FetchProcess.java"
InnerClasses:
  public Unpeeled = org.eclipse.jgit.lib.ObjectIdRef$Unpeeled of org.eclipse.jgit.lib.ObjectIdRef
  public final Storage = org.eclipse.jgit.lib.Ref$Storage of org.eclipse.jgit.lib.Ref
  public final Result = org.eclipse.jgit.transport.ReceiveCommand$Result of org.eclipse.jgit.transport.ReceiveCommand
  public final Type = org.eclipse.jgit.transport.ReceiveCommand$Type of org.eclipse.jgit.transport.ReceiveCommand
  final Command = org.eclipse.jgit.transport.TrackingRefUpdate$Command of org.eclipse.jgit.transport.TrackingRefUpdate