class org.eclipse.jgit.transport.PushProcess
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jgit.transport.PushProcess
  super_class: java.lang.Object
{
  static final java.lang.String PROGRESS_OPENING_CONNECTION;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final org.eclipse.jgit.transport.Transport transport;
    descriptor: Lorg/eclipse/jgit/transport/Transport;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.Map<java.lang.String, org.eclipse.jgit.transport.RemoteRefUpdate> toPush;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;

  private final org.eclipse.jgit.revwalk.RevWalk walker;
    descriptor: Lorg/eclipse/jgit/revwalk/RevWalk;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.OutputStream out;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.List<java.lang.String> pushOptions;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 41
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.openingConnection:Ljava/lang/String;
            putstatic org.eclipse.jgit.transport.PushProcess.PROGRESS_OPENING_CONNECTION:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.eclipse.jgit.transport.Transport, java.util.Collection<org.eclipse.jgit.transport.RemoteRefUpdate>);
    descriptor: (Lorg/eclipse/jgit/transport/Transport;Ljava/util/Collection;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.transport.PushProcess this
        start local 1 // org.eclipse.jgit.transport.Transport transport
        start local 2 // java.util.Collection toPush
         0: .line 74
            aload 0 /* this */
            aload 1 /* transport */
            aload 2 /* toPush */
            aconst_null
            invokespecial org.eclipse.jgit.transport.PushProcess.<init>:(Lorg/eclipse/jgit/transport/Transport;Ljava/util/Collection;Ljava/io/OutputStream;)V
         1: .line 75
            return
        end local 2 // java.util.Collection toPush
        end local 1 // org.eclipse.jgit.transport.Transport transport
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/jgit/transport/PushProcess;
            0    2     1  transport  Lorg/eclipse/jgit/transport/Transport;
            0    2     2     toPush  Ljava/util/Collection<Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    Signature: (Lorg/eclipse/jgit/transport/Transport;Ljava/util/Collection<Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;)V
    MethodParameters:
           Name  Flags
      transport  final
      toPush     final

  void <init>(org.eclipse.jgit.transport.Transport, java.util.Collection<org.eclipse.jgit.transport.RemoteRefUpdate>, java.io.OutputStream);
    descriptor: (Lorg/eclipse/jgit/transport/Transport;Ljava/util/Collection;Ljava/io/OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.eclipse.jgit.transport.PushProcess this
        start local 1 // org.eclipse.jgit.transport.Transport transport
        start local 2 // java.util.Collection toPush
        start local 3 // java.io.OutputStream out
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 92
            aload 0 /* this */
            new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 1 /* 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
            putfield org.eclipse.jgit.transport.PushProcess.walker:Lorg/eclipse/jgit/revwalk/RevWalk;
         2: .line 93
            aload 0 /* this */
            aload 1 /* transport */
            putfield org.eclipse.jgit.transport.PushProcess.transport:Lorg/eclipse/jgit/transport/Transport;
         3: .line 94
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
         4: .line 95
            aload 0 /* this */
            aload 3 /* out */
            putfield org.eclipse.jgit.transport.PushProcess.out:Ljava/io/OutputStream;
         5: .line 96
            aload 0 /* this */
            aload 1 /* transport */
            invokevirtual org.eclipse.jgit.transport.Transport.getPushOptions:()Ljava/util/List;
            putfield org.eclipse.jgit.transport.PushProcess.pushOptions:Ljava/util/List;
         6: .line 97
            aload 2 /* toPush */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.eclipse.jgit.transport.PushProcess org.eclipse.jgit.transport.Transport java.util.Collection java.io.OutputStream top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RemoteRefUpdate
            astore 4 /* rru */
        start local 4 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         8: .line 98
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
            aload 4 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getRemoteName:()Ljava/lang/String;
            aload 4 /* rru */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 12
         9: .line 99
            new org.eclipse.jgit.errors.TransportException
            dup
        10: .line 100
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.duplicateRemoteRefUpdateIsIllegal:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getRemoteName:()Ljava/lang/String;
            aastore
        11: .line 99
            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
        end local 4 // org.eclipse.jgit.transport.RemoteRefUpdate rru
        12: .line 97
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        13: .line 102
            return
        end local 3 // java.io.OutputStream out
        end local 2 // java.util.Collection toPush
        end local 1 // org.eclipse.jgit.transport.Transport transport
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/eclipse/jgit/transport/PushProcess;
            0   14     1  transport  Lorg/eclipse/jgit/transport/Transport;
            0   14     2     toPush  Ljava/util/Collection<Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;
            0   14     3        out  Ljava/io/OutputStream;
            8   12     4        rru  Lorg/eclipse/jgit/transport/RemoteRefUpdate;
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    Signature: (Lorg/eclipse/jgit/transport/Transport;Ljava/util/Collection<Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;Ljava/io/OutputStream;)V
    MethodParameters:
           Name  Flags
      transport  final
      toPush     final
      out        

  org.eclipse.jgit.transport.PushResult execute(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/transport/PushResult;
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.eclipse.jgit.transport.PushProcess this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
         0: .line 123
            aload 1 /* monitor */
            getstatic org.eclipse.jgit.transport.PushProcess.PROGRESS_OPENING_CONNECTION:Ljava/lang/String;
         1: .line 124
            iconst_0
         2: .line 123
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
         3: .line 126
            new org.eclipse.jgit.transport.PushResult
            dup
            invokespecial org.eclipse.jgit.transport.PushResult.<init>:()V
            astore 2 /* res */
        start local 2 // org.eclipse.jgit.transport.PushResult res
         4: .line 127
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.openPush:()Lorg/eclipse/jgit/transport/PushConnection;
            putfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
         5: .line 129
            aload 2 /* res */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.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.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
         6: .line 130
            invokeinterface org.eclipse.jgit.transport.PushConnection.getRefsMap:()Ljava/util/Map;
         7: .line 129
            invokevirtual org.eclipse.jgit.transport.PushResult.setAdvertisedRefs:(Lorg/eclipse/jgit/transport/URIish;Ljava/util/Map;)V
         8: .line 131
            aload 2 /* res */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
            invokeinterface org.eclipse.jgit.transport.PushConnection.getPeerUserAgent:()Ljava/lang/String;
            putfield org.eclipse.jgit.transport.PushResult.peerUserAgent:Ljava/lang/String;
         9: .line 132
            aload 2 /* res */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
            invokevirtual org.eclipse.jgit.transport.PushResult.setRemoteUpdates:(Ljava/util/Map;)V
        10: .line 133
            aload 1 /* monitor */
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        11: .line 135
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.PushProcess.prepareRemoteUpdates:()Ljava/util/Map;
            astore 3 /* preprocessed */
        start local 3 // java.util.Map preprocessed
        12: .line 136
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.isDryRun:()Z
            ifeq 14
        13: .line 137
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.PushProcess.modifyUpdatesForDryRun:()V
            goto 21
        14: .line 138
      StackMap locals: org.eclipse.jgit.transport.PushResult java.util.Map
      StackMap stack:
            aload 3 /* preprocessed */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 21
        15: .line 139
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
            aload 1 /* monitor */
            aload 3 /* preprocessed */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.out:Ljava/io/OutputStream;
            invokeinterface org.eclipse.jgit.transport.PushConnection.push:(Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/util/Map;Ljava/io/OutputStream;)V
        end local 3 // java.util.Map preprocessed
        16: .line 140
            goto 21
      StackMap locals: org.eclipse.jgit.transport.PushProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.PushResult
      StackMap stack: java.lang.Throwable
        17: astore 4
        18: .line 141
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
            invokeinterface org.eclipse.jgit.transport.PushConnection.close:()V
        19: .line 142
            aload 2 /* res */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
            invokeinterface org.eclipse.jgit.transport.PushConnection.getMessages:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.transport.PushResult.addMessages:(Ljava/lang/String;)V
        20: .line 143
            aload 4
            athrow
        21: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
            invokeinterface org.eclipse.jgit.transport.PushConnection.close:()V
        22: .line 142
            aload 2 /* res */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
            invokeinterface org.eclipse.jgit.transport.PushConnection.getMessages:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.transport.PushResult.addMessages:(Ljava/lang/String;)V
        23: .line 144
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.isDryRun:()Z
            ifne 25
        24: .line 145
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.PushProcess.updateTrackingRefs:()V
        25: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 30
      StackMap locals: org.eclipse.jgit.transport.PushProcess org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.transport.PushResult top java.util.Iterator
      StackMap stack:
        26: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RemoteRefUpdate
            astore 3 /* rru */
        start local 3 // org.eclipse.jgit.transport.RemoteRefUpdate rru
        27: .line 147
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getTrackingRefUpdate:()Lorg/eclipse/jgit/transport/TrackingRefUpdate;
            astore 5 /* tru */
        start local 5 // org.eclipse.jgit.transport.TrackingRefUpdate tru
        28: .line 148
            aload 5 /* tru */
            ifnull 30
        29: .line 149
            aload 2 /* res */
            aload 5 /* tru */
            invokevirtual org.eclipse.jgit.transport.PushResult.add:(Lorg/eclipse/jgit/transport/TrackingRefUpdate;)V
        end local 5 // org.eclipse.jgit.transport.TrackingRefUpdate tru
        end local 3 // org.eclipse.jgit.transport.RemoteRefUpdate rru
        30: .line 146
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        31: .line 151
            aload 2 /* res */
            astore 7
        32: .line 153
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.walker:Lorg/eclipse/jgit/revwalk/RevWalk;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
        33: .line 151
            aload 7
            areturn
        end local 2 // org.eclipse.jgit.transport.PushResult res
        34: .line 152
      StackMap locals: org.eclipse.jgit.transport.PushProcess org.eclipse.jgit.lib.ProgressMonitor
      StackMap stack: java.lang.Throwable
            astore 6
        35: .line 153
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.walker:Lorg/eclipse/jgit/revwalk/RevWalk;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
        36: .line 154
            aload 6
            athrow
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0          this  Lorg/eclipse/jgit/transport/PushProcess;
            0   37     1       monitor  Lorg/eclipse/jgit/lib/ProgressMonitor;
            4   34     2           res  Lorg/eclipse/jgit/transport/PushResult;
           12   16     3  preprocessed  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;
           27   30     3           rru  Lorg/eclipse/jgit/transport/RemoteRefUpdate;
           28   30     5           tru  Lorg/eclipse/jgit/transport/TrackingRefUpdate;
      Exception table:
        from    to  target  type
           5    17      17  any
           0    32      34  any
    Exceptions:
      throws org.eclipse.jgit.errors.NotSupportedException, org.eclipse.jgit.errors.TransportException
    MethodParameters:
         Name  Flags
      monitor  

  private java.util.Map<java.lang.String, org.eclipse.jgit.transport.RemoteRefUpdate> prepareRemoteUpdates();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=1
        start local 0 // org.eclipse.jgit.transport.PushProcess this
         0: .line 159
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.isPushAtomic:()Z
            istore 1 /* atomic */
        start local 1 // boolean atomic
         1: .line 160
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.Map result
         2: .line 161
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 52
      StackMap locals: org.eclipse.jgit.transport.PushProcess int java.util.Map top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RemoteRefUpdate
            astore 3 /* rru */
        start local 3 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         4: .line 162
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.connection:Lorg/eclipse/jgit/transport/PushConnection;
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getRemoteName:()Ljava/lang/String;
            invokeinterface org.eclipse.jgit.transport.PushConnection.getRef:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/Ref;
            astore 5 /* advertisedRef */
        start local 5 // org.eclipse.jgit.lib.Ref advertisedRef
         5: .line 163
            aconst_null
            astore 6 /* advertisedOld */
        start local 6 // org.eclipse.jgit.lib.ObjectId advertisedOld
         6: .line 164
            aload 5 /* advertisedRef */
            ifnull 8
         7: .line 165
            aload 5 /* advertisedRef */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 6 /* advertisedOld */
         8: .line 167
      StackMap locals: org.eclipse.jgit.transport.PushProcess int java.util.Map org.eclipse.jgit.transport.RemoteRefUpdate java.util.Iterator org.eclipse.jgit.lib.Ref org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 6 /* advertisedOld */
            ifnonnull 10
         9: .line 168
            invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 6 /* advertisedOld */
        10: .line 171
      StackMap locals:
      StackMap stack:
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getNewObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 6 /* advertisedOld */
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifeq 16
        11: .line 172
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.isDelete:()Z
            ifeq 14
        12: .line 174
            aload 3 /* rru */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.NON_EXISTING:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setStatus:(Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;)V
        13: .line 175
            goto 52
        14: .line 177
      StackMap locals:
      StackMap stack:
            aload 3 /* rru */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.UP_TO_DATE:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setStatus:(Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;)V
        15: .line 179
            goto 52
        16: .line 184
      StackMap locals:
      StackMap stack:
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.isExpectingOldObjectId:()Z
            ifeq 21
        17: .line 185
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getExpectedOldObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 6 /* advertisedOld */
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifne 21
        18: .line 186
            aload 3 /* rru */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.REJECTED_REMOTE_CHANGED:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setStatus:(Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;)V
        19: .line 187
            iload 1 /* atomic */
            ifeq 52
        20: .line 188
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.PushProcess.rejectAll:()Ljava/util/Map;
            areturn
        21: .line 192
      StackMap locals:
      StackMap stack:
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.isExpectingOldObjectId:()Z
            ifne 23
        22: .line 193
            aload 3 /* rru */
            aload 6 /* advertisedOld */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setExpectedOldObjectId:(Lorg/eclipse/jgit/lib/ObjectId;)V
        23: .line 198
      StackMap locals:
      StackMap stack:
            aload 6 /* advertisedOld */
            invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifne 24
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.isDelete:()Z
            ifeq 27
        24: .line 199
      StackMap locals:
      StackMap stack:
            aload 3 /* rru */
            iconst_1
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setFastForward:(Z)V
        25: .line 200
            aload 2 /* result */
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getRemoteName:()Ljava/lang/String;
            aload 3 /* rru */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 201
            goto 52
        27: .line 208
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* fastForward */
        start local 7 // boolean fastForward
        28: .line 210
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.walker:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 6 /* advertisedOld */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            astore 8 /* oldRev */
        start local 8 // org.eclipse.jgit.revwalk.RevObject oldRev
        29: .line 211
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.walker:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getNewObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            astore 9 /* newRev */
        start local 9 // org.eclipse.jgit.revwalk.RevObject newRev
        30: .line 212
            aload 8 /* oldRev */
            instanceof org.eclipse.jgit.revwalk.RevCommit
            ifeq 36
        31: .line 213
            aload 9 /* newRev */
            instanceof org.eclipse.jgit.revwalk.RevCommit
            ifeq 36
        32: .line 214
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.walker:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 8 /* oldRev */
            checkcast org.eclipse.jgit.revwalk.RevCommit
        33: .line 215
            aload 9 /* newRev */
            checkcast org.eclipse.jgit.revwalk.RevCommit
        34: .line 214
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.isMergedInto:(Lorg/eclipse/jgit/revwalk/RevCommit;Lorg/eclipse/jgit/revwalk/RevCommit;)Z
        35: .line 215
            ifne 46
        36: .line 216
      StackMap locals: int org.eclipse.jgit.revwalk.RevObject org.eclipse.jgit.revwalk.RevObject
      StackMap stack:
            iconst_0
            istore 7 /* fastForward */
        end local 9 // org.eclipse.jgit.revwalk.RevObject newRev
        end local 8 // org.eclipse.jgit.revwalk.RevObject oldRev
        37: .line 217
            goto 46
      StackMap locals: org.eclipse.jgit.transport.PushProcess int java.util.Map org.eclipse.jgit.transport.RemoteRefUpdate java.util.Iterator org.eclipse.jgit.lib.Ref org.eclipse.jgit.lib.ObjectId int
      StackMap stack: org.eclipse.jgit.errors.MissingObjectException
        38: pop
        39: .line 218
            iconst_0
            istore 7 /* fastForward */
            goto 46
        40: .line 219
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* x */
        start local 8 // java.lang.Exception x
        41: .line 220
            new org.eclipse.jgit.errors.TransportException
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.transport:Lorg/eclipse/jgit/transport/Transport;
            invokevirtual org.eclipse.jgit.transport.Transport.getURI:()Lorg/eclipse/jgit/transport/URIish;
        42: .line 221
            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
            aload 8 /* x */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aastore
        43: .line 220
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        44: .line 221
            aload 8 /* x */
        45: .line 220
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Exception x
        46: .line 223
      StackMap locals:
      StackMap stack:
            aload 3 /* rru */
            iload 7 /* fastForward */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setFastForward:(Z)V
        47: .line 224
            iload 7 /* fastForward */
            ifne 51
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.isForceUpdate:()Z
            ifne 51
        48: .line 225
            aload 3 /* rru */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.REJECTED_NONFASTFORWARD:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setStatus:(Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;)V
        49: .line 226
            iload 1 /* atomic */
            ifeq 52
        50: .line 227
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.transport.PushProcess.rejectAll:()Ljava/util/Map;
            areturn
        51: .line 230
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 3 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getRemoteName:()Ljava/lang/String;
            aload 3 /* rru */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // boolean fastForward
        end local 6 // org.eclipse.jgit.lib.ObjectId advertisedOld
        end local 5 // org.eclipse.jgit.lib.Ref advertisedRef
        end local 3 // org.eclipse.jgit.transport.RemoteRefUpdate rru
        52: .line 161
      StackMap locals: org.eclipse.jgit.transport.PushProcess int java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        53: .line 233
            aload 2 /* result */
            areturn
        end local 2 // java.util.Map result
        end local 1 // boolean atomic
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   54     0           this  Lorg/eclipse/jgit/transport/PushProcess;
            1   54     1         atomic  Z
            2   54     2         result  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;
            4   52     3            rru  Lorg/eclipse/jgit/transport/RemoteRefUpdate;
            5   52     5  advertisedRef  Lorg/eclipse/jgit/lib/Ref;
            6   52     6  advertisedOld  Lorg/eclipse/jgit/lib/ObjectId;
           28   52     7    fastForward  Z
           29   37     8         oldRev  Lorg/eclipse/jgit/revwalk/RevObject;
           30   37     9         newRev  Lorg/eclipse/jgit/revwalk/RevObject;
           41   46     8              x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          28    37      38  Class org.eclipse.jgit.errors.MissingObjectException
          28    37      40  Class java.lang.Exception
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;

  private java.util.Map<java.lang.String, org.eclipse.jgit.transport.RemoteRefUpdate> rejectAll();
    descriptor: ()Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jgit.transport.PushProcess this
         0: .line 237
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.eclipse.jgit.transport.PushProcess top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RemoteRefUpdate
            astore 1 /* rru */
        start local 1 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         2: .line 238
            aload 1 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getStatus:()Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.NOT_ATTEMPTED:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            if_acmpne 5
         3: .line 239
            aload 1 /* rru */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.REJECTED_OTHER_REASON:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setStatus:(Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;)V
         4: .line 240
            aload 1 /* rru */
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.transactionAborted:Ljava/lang/String;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setMessage:(Ljava/lang/String;)V
        end local 1 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         5: .line 237
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 243
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/transport/PushProcess;
            2    5     1   rru  Lorg/eclipse/jgit/transport/RemoteRefUpdate;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/transport/RemoteRefUpdate;>;

  private void modifyUpdatesForDryRun();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jgit.transport.PushProcess this
         0: .line 247
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.eclipse.jgit.transport.PushProcess top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RemoteRefUpdate
            astore 1 /* rru */
        start local 1 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         2: .line 248
            aload 1 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getStatus:()Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.NOT_ATTEMPTED:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            if_acmpne 4
         3: .line 249
            aload 1 /* rru */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.OK:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.setStatus:(Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;)V
        end local 1 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         4: .line 247
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 250
            return
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jgit/transport/PushProcess;
            2    4     1   rru  Lorg/eclipse/jgit/transport/RemoteRefUpdate;

  private void updateTrackingRefs();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jgit.transport.PushProcess this
         0: .line 253
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.toPush:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 8
      StackMap locals: org.eclipse.jgit.transport.PushProcess top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.transport.RemoteRefUpdate
            astore 1 /* rru */
        start local 1 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         2: .line 254
            aload 1 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.getStatus:()Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            astore 3 /* status */
        start local 3 // org.eclipse.jgit.transport.RemoteRefUpdate$Status status
         3: .line 255
            aload 1 /* rru */
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.hasTrackingRefUpdate:()Z
            ifeq 8
         4: .line 256
            aload 3 /* status */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.UP_TO_DATE:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            if_acmpeq 5
            aload 3 /* status */
            getstatic org.eclipse.jgit.transport.RemoteRefUpdate$Status.OK:Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
            if_acmpne 8
         5: .line 262
      StackMap locals: org.eclipse.jgit.transport.PushProcess org.eclipse.jgit.transport.RemoteRefUpdate java.util.Iterator org.eclipse.jgit.transport.RemoteRefUpdate$Status
      StackMap stack:
            aload 1 /* rru */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.walker:Lorg/eclipse/jgit/revwalk/RevWalk;
            invokevirtual org.eclipse.jgit.transport.RemoteRefUpdate.updateTrackingRef:(Lorg/eclipse/jgit/revwalk/RevWalk;)V
         6: .line 263
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         7: pop
        end local 3 // org.eclipse.jgit.transport.RemoteRefUpdate$Status status
        end local 1 // org.eclipse.jgit.transport.RemoteRefUpdate rru
         8: .line 253
      StackMap locals: org.eclipse.jgit.transport.PushProcess top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 268
            return
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/jgit/transport/PushProcess;
            2    8     1     rru  Lorg/eclipse/jgit/transport/RemoteRefUpdate;
            3    8     3  status  Lorg/eclipse/jgit/transport/RemoteRefUpdate$Status;
      Exception table:
        from    to  target  type
           5     6       7  Class java.io.IOException

  public java.util.List<java.lang.String> getPushOptions();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.PushProcess this
         0: .line 277
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.PushProcess.pushOptions:Ljava/util/List;
            areturn
        end local 0 // org.eclipse.jgit.transport.PushProcess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/PushProcess;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;
}
SourceFile: "PushProcess.java"
InnerClasses:
  public final Status = org.eclipse.jgit.transport.RemoteRefUpdate$Status of org.eclipse.jgit.transport.RemoteRefUpdate