public class org.eclipse.jgit.api.SubmoduleUpdateCommand extends org.eclipse.jgit.api.TransportCommand<org.eclipse.jgit.api.SubmoduleUpdateCommand, java.util.Collection<java.lang.String>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jgit.api.SubmoduleUpdateCommand
  super_class: org.eclipse.jgit.api.TransportCommand
{
  private org.eclipse.jgit.lib.ProgressMonitor monitor;
    descriptor: Lorg/eclipse/jgit/lib/ProgressMonitor;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Collection<java.lang.String> paths;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/String;>;

  private org.eclipse.jgit.merge.MergeStrategy strategy;
    descriptor: Lorg/eclipse/jgit/merge/MergeStrategy;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jgit.api.CloneCommand$Callback callback;
    descriptor: Lorg/eclipse/jgit/api/CloneCommand$Callback;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jgit.api.FetchCommand$Callback fetchCallback;
    descriptor: Lorg/eclipse/jgit/api/FetchCommand$Callback;
    flags: (0x0002) ACC_PRIVATE

  private boolean fetch;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.eclipse.jgit.lib.Repository);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // org.eclipse.jgit.lib.Repository repo
         0: .line 107
            aload 0 /* this */
            aload 1 /* repo */
            invokespecial org.eclipse.jgit.api.TransportCommand.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
         1: .line 90
            aload 0 /* this */
            getstatic org.eclipse.jgit.merge.MergeStrategy.RECURSIVE:Lorg/eclipse/jgit/merge/ThreeWayMergeStrategy;
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.strategy:Lorg/eclipse/jgit/merge/MergeStrategy;
         2: .line 96
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.fetch:Z
         3: .line 108
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.paths:Ljava/util/Collection;
         4: .line 109
            return
        end local 1 // org.eclipse.jgit.lib.Repository repo
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0    5     1  repo  Lorg/eclipse/jgit/lib/Repository;
    MethodParameters:
      Name  Flags
      repo  

  public org.eclipse.jgit.api.SubmoduleUpdateCommand setProgressMonitor(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
         0: .line 122
            aload 0 /* this */
            aload 1 /* monitor */
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
         1: .line 123
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0    2     1  monitor  Lorg/eclipse/jgit/lib/ProgressMonitor;
    MethodParameters:
         Name  Flags
      monitor  final

  public org.eclipse.jgit.api.SubmoduleUpdateCommand setFetch(boolean);
    descriptor: (Z)Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // boolean fetch
         0: .line 136
            aload 0 /* this */
            iload 1 /* fetch */
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.fetch:Z
         1: .line 137
            aload 0 /* this */
            areturn
        end local 1 // boolean fetch
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0    2     1  fetch  Z
    MethodParameters:
       Name  Flags
      fetch  

  public org.eclipse.jgit.api.SubmoduleUpdateCommand addPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // java.lang.String path
         0: .line 148
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.paths:Ljava/util/Collection;
            aload 1 /* path */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         1: .line 149
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0    2     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  private org.eclipse.jgit.lib.Repository getOrCloneSubmodule(org.eclipse.jgit.submodule.SubmoduleWalk, java.lang.String);
    descriptor: (Lorg/eclipse/jgit/submodule/SubmoduleWalk;Ljava/lang/String;)Lorg/eclipse/jgit/lib/Repository;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // org.eclipse.jgit.submodule.SubmoduleWalk generator
        start local 2 // java.lang.String url
         0: .line 154
            aload 1 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getRepository:()Lorg/eclipse/jgit/lib/Repository;
            astore 3 /* repository */
        start local 3 // org.eclipse.jgit.lib.Repository repository
         1: .line 155
            aload 3 /* repository */
            ifnonnull 17
         2: .line 156
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.callback:Lorg/eclipse/jgit/api/CloneCommand$Callback;
            ifnull 4
         3: .line 157
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.callback:Lorg/eclipse/jgit/api/CloneCommand$Callback;
            aload 1 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getPath:()Ljava/lang/String;
            invokeinterface org.eclipse.jgit.api.CloneCommand$Callback.cloningSubmodule:(Ljava/lang/String;)V
         4: .line 159
      StackMap locals: org.eclipse.jgit.lib.Repository
      StackMap stack:
            invokestatic org.eclipse.jgit.api.Git.cloneRepository:()Lorg/eclipse/jgit/api/CloneCommand;
            astore 4 /* clone */
        start local 4 // org.eclipse.jgit.api.CloneCommand clone
         5: .line 160
            aload 0 /* this */
            aload 4 /* clone */
            invokevirtual org.eclipse.jgit.api.SubmoduleUpdateCommand.configure:(Lorg/eclipse/jgit/api/TransportCommand;)Lorg/eclipse/jgit/api/GitCommand;
            pop
         6: .line 161
            aload 4 /* clone */
            aload 2 /* url */
            invokevirtual org.eclipse.jgit.api.CloneCommand.setURI:(Ljava/lang/String;)Lorg/eclipse/jgit/api/CloneCommand;
            pop
         7: .line 162
            aload 4 /* clone */
            aload 1 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getDirectory:()Ljava/io/File;
            invokevirtual org.eclipse.jgit.api.CloneCommand.setDirectory:(Ljava/io/File;)Lorg/eclipse/jgit/api/CloneCommand;
            pop
         8: .line 163
            aload 4 /* clone */
         9: .line 164
            new java.io.File
            dup
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.repo:Lorg/eclipse/jgit/lib/Repository;
            invokevirtual org.eclipse.jgit.lib.Repository.getDirectory:()Ljava/io/File;
            ldc "modules"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
        10: .line 165
            aload 1 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getPath:()Ljava/lang/String;
        11: .line 164
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
        12: .line 163
            invokevirtual org.eclipse.jgit.api.CloneCommand.setGitDir:(Ljava/io/File;)Lorg/eclipse/jgit/api/CloneCommand;
            pop
        13: .line 166
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
            ifnull 15
        14: .line 167
            aload 4 /* clone */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokevirtual org.eclipse.jgit.api.CloneCommand.setProgressMonitor:(Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/api/CloneCommand;
            pop
        15: .line 169
      StackMap locals: org.eclipse.jgit.api.CloneCommand
      StackMap stack:
            aload 4 /* clone */
            invokevirtual org.eclipse.jgit.api.CloneCommand.call:()Lorg/eclipse/jgit/api/Git;
            invokevirtual org.eclipse.jgit.api.Git.getRepository:()Lorg/eclipse/jgit/lib/Repository;
            astore 3 /* repository */
        end local 4 // org.eclipse.jgit.api.CloneCommand clone
        16: .line 170
            goto 25
      StackMap locals:
      StackMap stack:
        17: aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.fetch:Z
            ifeq 25
        18: .line 171
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.fetchCallback:Lorg/eclipse/jgit/api/FetchCommand$Callback;
            ifnull 20
        19: .line 172
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.fetchCallback:Lorg/eclipse/jgit/api/FetchCommand$Callback;
            aload 1 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getPath:()Ljava/lang/String;
            invokeinterface org.eclipse.jgit.api.FetchCommand$Callback.fetchingSubmodule:(Ljava/lang/String;)V
        20: .line 174
      StackMap locals:
      StackMap stack:
            aload 3 /* repository */
            invokestatic org.eclipse.jgit.api.Git.wrap:(Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/api/Git;
            invokevirtual org.eclipse.jgit.api.Git.fetch:()Lorg/eclipse/jgit/api/FetchCommand;
            astore 4 /* fetchCommand */
        start local 4 // org.eclipse.jgit.api.FetchCommand fetchCommand
        21: .line 175
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
            ifnull 23
        22: .line 176
            aload 4 /* fetchCommand */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokevirtual org.eclipse.jgit.api.FetchCommand.setProgressMonitor:(Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/api/FetchCommand;
            pop
        23: .line 178
      StackMap locals: org.eclipse.jgit.api.FetchCommand
      StackMap stack:
            aload 0 /* this */
            aload 4 /* fetchCommand */
            invokevirtual org.eclipse.jgit.api.SubmoduleUpdateCommand.configure:(Lorg/eclipse/jgit/api/TransportCommand;)Lorg/eclipse/jgit/api/GitCommand;
            pop
        24: .line 179
            aload 4 /* fetchCommand */
            invokevirtual org.eclipse.jgit.api.FetchCommand.call:()Lorg/eclipse/jgit/transport/FetchResult;
            pop
        end local 4 // org.eclipse.jgit.api.FetchCommand fetchCommand
        25: .line 181
      StackMap locals:
      StackMap stack:
            aload 3 /* repository */
            areturn
        end local 3 // org.eclipse.jgit.lib.Repository repository
        end local 2 // java.lang.String url
        end local 1 // org.eclipse.jgit.submodule.SubmoduleWalk generator
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0   26     1     generator  Lorg/eclipse/jgit/submodule/SubmoduleWalk;
            0   26     2           url  Ljava/lang/String;
            1   26     3    repository  Lorg/eclipse/jgit/lib/Repository;
            5   16     4         clone  Lorg/eclipse/jgit/api/CloneCommand;
           21   25     4  fetchCommand  Lorg/eclipse/jgit/api/FetchCommand;
    Exceptions:
      throws java.io.IOException, org.eclipse.jgit.api.errors.GitAPIException
    MethodParameters:
           Name  Flags
      generator  
      url        

  public java.util.Collection<java.lang.String> call();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=1
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
         0: .line 195
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.api.SubmoduleUpdateCommand.checkCallable:()V
         1: .line 197
            aconst_null
            astore 1
            aconst_null
            astore 2
         2: aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.repo:Lorg/eclipse/jgit/lib/Repository;
            invokestatic org.eclipse.jgit.submodule.SubmoduleWalk.forIndex:(Lorg/eclipse/jgit/lib/Repository;)Lorg/eclipse/jgit/submodule/SubmoduleWalk;
            astore 3 /* generator */
        start local 3 // org.eclipse.jgit.submodule.SubmoduleWalk generator
         3: .line 198
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.paths:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 5
         4: .line 199
            aload 3 /* generator */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.paths:Ljava/util/Collection;
            invokestatic org.eclipse.jgit.treewalk.filter.PathFilterGroup.createFromStrings:(Ljava/util/Collection;)Lorg/eclipse/jgit/treewalk/filter/TreeFilter;
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.setFilter:(Lorg/eclipse/jgit/treewalk/filter/TreeFilter;)Lorg/eclipse/jgit/submodule/SubmoduleWalk;
            pop
         5: .line 200
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jgit.submodule.SubmoduleWalk
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* updated */
        start local 4 // java.util.List updated
         6: .line 201
            goto 63
         7: .line 203
      StackMap locals: java.util.List
      StackMap stack:
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getModulesPath:()Ljava/lang/String;
            ifnonnull 9
         8: .line 204
            goto 63
         9: .line 206
      StackMap locals:
      StackMap stack:
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getConfigUrl:()Ljava/lang/String;
            astore 5 /* url */
        start local 5 // java.lang.String url
        10: .line 207
            aload 5 /* url */
            ifnonnull 12
        11: .line 208
            goto 63
        12: .line 210
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
        13: aload 0 /* this */
            aload 3 /* generator */
        14: .line 211
            aload 5 /* url */
        15: .line 210
            invokevirtual org.eclipse.jgit.api.SubmoduleUpdateCommand.getOrCloneSubmodule:(Lorg/eclipse/jgit/submodule/SubmoduleWalk;Ljava/lang/String;)Lorg/eclipse/jgit/lib/Repository;
            astore 8 /* submoduleRepo */
        start local 8 // org.eclipse.jgit.lib.Repository submoduleRepo
        16: .line 211
            new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 8 /* submoduleRepo */
            invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 9 /* walk */
        start local 9 // org.eclipse.jgit.revwalk.RevWalk walk
        17: .line 212
            aload 9 /* walk */
        18: .line 213
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseCommit:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevCommit;
        19: .line 212
            astore 10 /* commit */
        start local 10 // org.eclipse.jgit.revwalk.RevCommit commit
        20: .line 215
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getConfigUpdate:()Ljava/lang/String;
            astore 11 /* update */
        start local 11 // java.lang.String update
        21: .line 216
            ldc "merge"
            aload 11 /* update */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        22: .line 217
            new org.eclipse.jgit.api.MergeCommand
            dup
            aload 8 /* submoduleRepo */
            invokespecial org.eclipse.jgit.api.MergeCommand.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 12 /* merge */
        start local 12 // org.eclipse.jgit.api.MergeCommand merge
        23: .line 218
            aload 12 /* merge */
            aload 10 /* commit */
            invokevirtual org.eclipse.jgit.api.MergeCommand.include:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/api/MergeCommand;
            pop
        24: .line 219
            aload 12 /* merge */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokevirtual org.eclipse.jgit.api.MergeCommand.setProgressMonitor:(Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/api/MergeCommand;
            pop
        25: .line 220
            aload 12 /* merge */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.strategy:Lorg/eclipse/jgit/merge/MergeStrategy;
            invokevirtual org.eclipse.jgit.api.MergeCommand.setStrategy:(Lorg/eclipse/jgit/merge/MergeStrategy;)Lorg/eclipse/jgit/api/MergeCommand;
            pop
        26: .line 221
            aload 12 /* merge */
            invokevirtual org.eclipse.jgit.api.MergeCommand.call:()Lorg/eclipse/jgit/api/MergeResult;
            pop
        end local 12 // org.eclipse.jgit.api.MergeCommand merge
        27: .line 222
            goto 51
      StackMap locals: org.eclipse.jgit.api.SubmoduleUpdateCommand java.lang.Throwable java.lang.Throwable org.eclipse.jgit.submodule.SubmoduleWalk java.util.List java.lang.String java.lang.Throwable java.lang.Throwable org.eclipse.jgit.lib.Repository org.eclipse.jgit.revwalk.RevWalk org.eclipse.jgit.revwalk.RevCommit java.lang.String
      StackMap stack:
        28: ldc "rebase"
            aload 11 /* update */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        29: .line 223
            new org.eclipse.jgit.api.RebaseCommand
            dup
            aload 8 /* submoduleRepo */
            invokespecial org.eclipse.jgit.api.RebaseCommand.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 12 /* rebase */
        start local 12 // org.eclipse.jgit.api.RebaseCommand rebase
        30: .line 224
            aload 12 /* rebase */
            aload 10 /* commit */
            invokevirtual org.eclipse.jgit.api.RebaseCommand.setUpstream:(Lorg/eclipse/jgit/revwalk/RevCommit;)Lorg/eclipse/jgit/api/RebaseCommand;
            pop
        31: .line 225
            aload 12 /* rebase */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokevirtual org.eclipse.jgit.api.RebaseCommand.setProgressMonitor:(Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/api/RebaseCommand;
            pop
        32: .line 226
            aload 12 /* rebase */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.strategy:Lorg/eclipse/jgit/merge/MergeStrategy;
            invokevirtual org.eclipse.jgit.api.RebaseCommand.setStrategy:(Lorg/eclipse/jgit/merge/MergeStrategy;)Lorg/eclipse/jgit/api/RebaseCommand;
            pop
        33: .line 227
            aload 12 /* rebase */
            invokevirtual org.eclipse.jgit.api.RebaseCommand.call:()Lorg/eclipse/jgit/api/RebaseResult;
            pop
        end local 12 // org.eclipse.jgit.api.RebaseCommand rebase
        34: .line 228
            goto 51
        35: .line 231
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.dircache.DirCacheCheckout
            dup
        36: .line 232
            aload 8 /* submoduleRepo */
            aload 8 /* submoduleRepo */
            invokevirtual org.eclipse.jgit.lib.Repository.lockDirCache:()Lorg/eclipse/jgit/dircache/DirCache;
        37: .line 233
            aload 10 /* commit */
            invokevirtual org.eclipse.jgit.revwalk.RevCommit.getTree:()Lorg/eclipse/jgit/revwalk/RevTree;
        38: .line 231
            invokespecial org.eclipse.jgit.dircache.DirCacheCheckout.<init>:(Lorg/eclipse/jgit/lib/Repository;Lorg/eclipse/jgit/dircache/DirCache;Lorg/eclipse/jgit/lib/ObjectId;)V
            astore 12 /* co */
        start local 12 // org.eclipse.jgit.dircache.DirCacheCheckout co
        39: .line 234
            aload 12 /* co */
            iconst_1
            invokevirtual org.eclipse.jgit.dircache.DirCacheCheckout.setFailOnConflict:(Z)V
        40: .line 235
            aload 12 /* co */
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokevirtual org.eclipse.jgit.dircache.DirCacheCheckout.setProgressMonitor:(Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        41: .line 236
            aload 12 /* co */
            invokevirtual org.eclipse.jgit.dircache.DirCacheCheckout.checkout:()Z
            pop
        42: .line 237
            aload 8 /* submoduleRepo */
        43: .line 238
            ldc "HEAD"
            iconst_1
        44: .line 237
            invokevirtual org.eclipse.jgit.lib.Repository.updateRef:(Ljava/lang/String;Z)Lorg/eclipse/jgit/lib/RefUpdate;
            astore 13 /* refUpdate */
        start local 13 // org.eclipse.jgit.lib.RefUpdate refUpdate
        45: .line 239
            aload 13 /* refUpdate */
            aload 10 /* commit */
            invokevirtual org.eclipse.jgit.lib.RefUpdate.setNewObjectId:(Lorg/eclipse/jgit/lib/AnyObjectId;)V
        46: .line 240
            aload 13 /* refUpdate */
            invokevirtual org.eclipse.jgit.lib.RefUpdate.forceUpdate:()Lorg/eclipse/jgit/lib/RefUpdate$Result;
            pop
        47: .line 241
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.callback:Lorg/eclipse/jgit/api/CloneCommand$Callback;
            ifnull 51
        48: .line 242
            aload 0 /* this */
            getfield org.eclipse.jgit.api.SubmoduleUpdateCommand.callback:Lorg/eclipse/jgit/api/CloneCommand$Callback;
            aload 10 /* commit */
        49: .line 243
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getPath:()Ljava/lang/String;
        50: .line 242
            invokeinterface org.eclipse.jgit.api.CloneCommand$Callback.checkingOut:(Lorg/eclipse/jgit/lib/AnyObjectId;Ljava/lang/String;)V
        end local 13 // org.eclipse.jgit.lib.RefUpdate refUpdate
        end local 12 // org.eclipse.jgit.dircache.DirCacheCheckout co
        end local 11 // java.lang.String update
        end local 10 // org.eclipse.jgit.revwalk.RevCommit commit
        51: .line 246
      StackMap locals:
      StackMap stack:
            aload 9 /* walk */
            ifnull 54
            aload 9 /* walk */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
            goto 54
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 6
            aload 9 /* walk */
            ifnull 53
            aload 9 /* walk */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
        end local 9 // org.eclipse.jgit.revwalk.RevWalk walk
      StackMap locals:
      StackMap stack:
        53: aload 6
            athrow
      StackMap locals:
      StackMap stack:
        54: aload 8 /* submoduleRepo */
            ifnull 62
            aload 8 /* submoduleRepo */
            invokevirtual org.eclipse.jgit.lib.Repository.close:()V
            goto 62
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 7
            aload 6
            ifnonnull 56
            aload 7
            astore 6
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 6
            aload 7
            if_acmpeq 57
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        57: aload 8 /* submoduleRepo */
            ifnull 58
            aload 8 /* submoduleRepo */
            invokevirtual org.eclipse.jgit.lib.Repository.close:()V
        end local 8 // org.eclipse.jgit.lib.Repository submoduleRepo
      StackMap locals:
      StackMap stack:
        58: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: astore 7
            aload 6
            ifnonnull 60
            aload 7
            astore 6
            goto 61
      StackMap locals:
      StackMap stack:
        60: aload 6
            aload 7
            if_acmpeq 61
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        61: aload 6
            athrow
        62: .line 247
      StackMap locals:
      StackMap stack:
            aload 4 /* updated */
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.getPath:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.String url
        63: .line 201
      StackMap locals:
      StackMap stack:
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.next:()Z
            ifne 7
        64: .line 249
            aload 4 /* updated */
        65: .line 250
            aload 3 /* generator */
            ifnull 66
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.close:()V
        66: .line 249
      StackMap locals:
      StackMap stack: java.util.List
            areturn
        end local 4 // java.util.List updated
      StackMap locals: org.eclipse.jgit.api.SubmoduleUpdateCommand java.lang.Throwable java.lang.Throwable org.eclipse.jgit.submodule.SubmoduleWalk
      StackMap stack: java.lang.Throwable
        67: astore 1
        68: .line 250
            aload 3 /* generator */
            ifnull 69
            aload 3 /* generator */
            invokevirtual org.eclipse.jgit.submodule.SubmoduleWalk.close:()V
        end local 3 // org.eclipse.jgit.submodule.SubmoduleWalk generator
      StackMap locals:
      StackMap stack:
        69: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        70: astore 2
            aload 1
            ifnonnull 71
            aload 2
            astore 1
            goto 72
      StackMap locals:
      StackMap stack:
        71: aload 1
            aload 2
            if_acmpeq 72
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        72: aload 1
            athrow
      StackMap locals: org.eclipse.jgit.api.SubmoduleUpdateCommand
      StackMap stack: java.io.IOException
        73: astore 1 /* e */
        start local 1 // java.io.IOException e
        74: .line 251
            new org.eclipse.jgit.api.errors.JGitInternalException
            dup
            aload 1 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.eclipse.jgit.api.errors.JGitInternalException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        75: .line 252
      StackMap locals:
      StackMap stack: org.eclipse.jgit.errors.ConfigInvalidException
            astore 1 /* e */
        start local 1 // org.eclipse.jgit.errors.ConfigInvalidException e
        76: .line 253
            new org.eclipse.jgit.api.errors.InvalidConfigurationException
            dup
            aload 1 /* e */
            invokevirtual org.eclipse.jgit.errors.ConfigInvalidException.getMessage:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.eclipse.jgit.api.errors.InvalidConfigurationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // org.eclipse.jgit.errors.ConfigInvalidException e
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   77     0           this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            3   69     3      generator  Lorg/eclipse/jgit/submodule/SubmoduleWalk;
            6   67     4        updated  Ljava/util/List<Ljava/lang/String;>;
           10   63     5            url  Ljava/lang/String;
           16   58     8  submoduleRepo  Lorg/eclipse/jgit/lib/Repository;
           17   53     9           walk  Lorg/eclipse/jgit/revwalk/RevWalk;
           20   51    10         commit  Lorg/eclipse/jgit/revwalk/RevCommit;
           21   51    11         update  Ljava/lang/String;
           23   27    12          merge  Lorg/eclipse/jgit/api/MergeCommand;
           30   34    12         rebase  Lorg/eclipse/jgit/api/RebaseCommand;
           39   51    12             co  Lorg/eclipse/jgit/dircache/DirCacheCheckout;
           45   51    13      refUpdate  Lorg/eclipse/jgit/lib/RefUpdate;
           74   75     1              e  Ljava/io/IOException;
           76   77     1              e  Lorg/eclipse/jgit/errors/ConfigInvalidException;
      Exception table:
        from    to  target  type
          17    51      52  any
          16    54      55  any
          13    59      59  any
           3    65      67  any
           2    66      70  any
          67    70      70  any
           1    66      73  Class java.io.IOException
          67    73      73  Class java.io.IOException
           1    66      75  Class org.eclipse.jgit.errors.ConfigInvalidException
          67    73      75  Class org.eclipse.jgit.errors.ConfigInvalidException
    Exceptions:
      throws org.eclipse.jgit.api.errors.InvalidConfigurationException, org.eclipse.jgit.api.errors.NoHeadException, org.eclipse.jgit.api.errors.ConcurrentRefUpdateException, org.eclipse.jgit.api.errors.CheckoutConflictException, org.eclipse.jgit.api.errors.InvalidMergeHeadsException, org.eclipse.jgit.api.errors.WrongRepositoryStateException, org.eclipse.jgit.api.errors.NoMessageException, org.eclipse.jgit.api.errors.NoHeadException, org.eclipse.jgit.api.errors.RefNotFoundException, org.eclipse.jgit.api.errors.GitAPIException
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public org.eclipse.jgit.api.SubmoduleUpdateCommand setStrategy(org.eclipse.jgit.merge.MergeStrategy);
    descriptor: (Lorg/eclipse/jgit/merge/MergeStrategy;)Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // org.eclipse.jgit.merge.MergeStrategy strategy
         0: .line 266
            aload 0 /* this */
            aload 1 /* strategy */
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.strategy:Lorg/eclipse/jgit/merge/MergeStrategy;
         1: .line 267
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jgit.merge.MergeStrategy strategy
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0    2     1  strategy  Lorg/eclipse/jgit/merge/MergeStrategy;
    MethodParameters:
          Name  Flags
      strategy  

  public org.eclipse.jgit.api.SubmoduleUpdateCommand setCallback(org.eclipse.jgit.api.CloneCommand$Callback);
    descriptor: (Lorg/eclipse/jgit/api/CloneCommand$Callback;)Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // org.eclipse.jgit.api.CloneCommand$Callback callback
         0: .line 279
            aload 0 /* this */
            aload 1 /* callback */
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.callback:Lorg/eclipse/jgit/api/CloneCommand$Callback;
         1: .line 280
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jgit.api.CloneCommand$Callback callback
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0    2     1  callback  Lorg/eclipse/jgit/api/CloneCommand$Callback;
    MethodParameters:
          Name  Flags
      callback  

  public org.eclipse.jgit.api.SubmoduleUpdateCommand setFetchCallback(org.eclipse.jgit.api.FetchCommand$Callback);
    descriptor: (Lorg/eclipse/jgit/api/FetchCommand$Callback;)Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
        start local 1 // org.eclipse.jgit.api.FetchCommand$Callback callback
         0: .line 293
            aload 0 /* this */
            aload 1 /* callback */
            putfield org.eclipse.jgit.api.SubmoduleUpdateCommand.fetchCallback:Lorg/eclipse/jgit/api/FetchCommand$Callback;
         1: .line 294
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jgit.api.FetchCommand$Callback callback
        end local 0 // org.eclipse.jgit.api.SubmoduleUpdateCommand this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;
            0    2     1  callback  Lorg/eclipse/jgit/api/FetchCommand$Callback;
    MethodParameters:
          Name  Flags
      callback  

  public java.lang.Object call();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.eclipse.jgit.api.SubmoduleUpdateCommand.call:()Ljava/util/Collection;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.eclipse.jgit.api.errors.GitAPIException
}
Signature: Lorg/eclipse/jgit/api/TransportCommand<Lorg/eclipse/jgit/api/SubmoduleUpdateCommand;Ljava/util/Collection<Ljava/lang/String;>;>;
SourceFile: "SubmoduleUpdateCommand.java"
InnerClasses:
  public abstract Callback = org.eclipse.jgit.api.CloneCommand$Callback of org.eclipse.jgit.api.CloneCommand
  public abstract Callback = org.eclipse.jgit.api.FetchCommand$Callback of org.eclipse.jgit.api.FetchCommand
  public final Result = org.eclipse.jgit.lib.RefUpdate$Result of org.eclipse.jgit.lib.RefUpdate