public abstract class org.eclipse.jgit.merge.Merger
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jgit.merge.Merger
  super_class: java.lang.Object
{
  protected final org.eclipse.jgit.lib.Repository db;
    descriptor: Lorg/eclipse/jgit/lib/Repository;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.eclipse.jgit.annotations.Nullable()

  protected org.eclipse.jgit.lib.ObjectReader reader;
    descriptor: Lorg/eclipse/jgit/lib/ObjectReader;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jgit.revwalk.RevWalk walk;
    descriptor: Lorg/eclipse/jgit/revwalk/RevWalk;
    flags: (0x0004) ACC_PROTECTED

  private org.eclipse.jgit.lib.ObjectInserter inserter;
    descriptor: Lorg/eclipse/jgit/lib/ObjectInserter;
    flags: (0x0002) ACC_PRIVATE

  protected org.eclipse.jgit.revwalk.RevObject[] sourceObjects;
    descriptor: [Lorg/eclipse/jgit/revwalk/RevObject;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jgit.revwalk.RevCommit[] sourceCommits;
    descriptor: [Lorg/eclipse/jgit/revwalk/RevCommit;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jgit.revwalk.RevTree[] sourceTrees;
    descriptor: [Lorg/eclipse/jgit/revwalk/RevTree;
    flags: (0x0004) ACC_PROTECTED

  protected org.eclipse.jgit.lib.ProgressMonitor monitor;
    descriptor: Lorg/eclipse/jgit/lib/ProgressMonitor;
    flags: (0x0004) ACC_PROTECTED

  protected void <init>(org.eclipse.jgit.lib.Repository);
    descriptor: (Lorg/eclipse/jgit/lib/Repository;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // org.eclipse.jgit.lib.Repository local
         0: .line 83
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 75
            aload 0 /* this */
            getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
            putfield org.eclipse.jgit.merge.Merger.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
         2: .line 84
            aload 1 /* local */
            ifnonnull 4
         3: .line 85
            new java.lang.NullPointerException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.repositoryIsRequired:Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 87
      StackMap locals: org.eclipse.jgit.merge.Merger org.eclipse.jgit.lib.Repository
      StackMap stack:
            aload 0 /* this */
            aload 1 /* local */
            putfield org.eclipse.jgit.merge.Merger.db:Lorg/eclipse/jgit/lib/Repository;
         5: .line 88
            aload 0 /* this */
            aload 1 /* local */
            invokevirtual org.eclipse.jgit.lib.Repository.newObjectInserter:()Lorg/eclipse/jgit/lib/ObjectInserter;
            putfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
         6: .line 89
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
            invokevirtual org.eclipse.jgit.lib.ObjectInserter.newReader:()Lorg/eclipse/jgit/lib/ObjectReader;
            putfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
         7: .line 90
            aload 0 /* this */
            new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
            invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/ObjectReader;)V
            putfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
         8: .line 91
            return
        end local 1 // org.eclipse.jgit.lib.Repository local
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/eclipse/jgit/merge/Merger;
            0    9     1  local  Lorg/eclipse/jgit/lib/Repository;
    MethodParameters:
       Name  Flags
      local  

  protected void <init>(org.eclipse.jgit.lib.ObjectInserter);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectInserter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // org.eclipse.jgit.lib.ObjectInserter oi
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 75
            aload 0 /* this */
            getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
            putfield org.eclipse.jgit.merge.Merger.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
         2: .line 102
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.merge.Merger.db:Lorg/eclipse/jgit/lib/Repository;
         3: .line 103
            aload 0 /* this */
            aload 1 /* oi */
            putfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
         4: .line 104
            aload 0 /* this */
            aload 1 /* oi */
            invokevirtual org.eclipse.jgit.lib.ObjectInserter.newReader:()Lorg/eclipse/jgit/lib/ObjectReader;
            putfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
         5: .line 105
            aload 0 /* this */
            new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
            invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/ObjectReader;)V
            putfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
         6: .line 106
            return
        end local 1 // org.eclipse.jgit.lib.ObjectInserter oi
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/merge/Merger;
            0    7     1    oi  Lorg/eclipse/jgit/lib/ObjectInserter;
    MethodParameters:
      Name  Flags
      oi    

  public org.eclipse.jgit.lib.Repository getRepository();
    descriptor: ()Lorg/eclipse/jgit/lib/Repository;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.merge.Merger this
         0: .line 115
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.db:Lorg/eclipse/jgit/lib/Repository;
            areturn
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/merge/Merger;
    RuntimeVisibleAnnotations: 
      org.eclipse.jgit.annotations.Nullable()

  protected org.eclipse.jgit.lib.Repository nonNullRepo();
    descriptor: ()Lorg/eclipse/jgit/lib/Repository;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.merge.Merger this
         0: .line 127
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.db:Lorg/eclipse/jgit/lib/Repository;
            ifnonnull 2
         1: .line 128
            new java.lang.NullPointerException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.repositoryIsRequired:Ljava/lang/String;
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.db:Lorg/eclipse/jgit/lib/Repository;
            areturn
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/merge/Merger;

  public org.eclipse.jgit.lib.ObjectInserter getObjectInserter();
    descriptor: ()Lorg/eclipse/jgit/lib/ObjectInserter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.merge.Merger this
         0: .line 141
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
            areturn
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/merge/Merger;

  public void setObjectInserter(org.eclipse.jgit.lib.ObjectInserter);
    descriptor: (Lorg/eclipse/jgit/lib/ObjectInserter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // org.eclipse.jgit.lib.ObjectInserter oi
         0: .line 158
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
         1: .line 159
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
            invokevirtual org.eclipse.jgit.lib.ObjectReader.close:()V
         2: .line 160
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
            invokevirtual org.eclipse.jgit.lib.ObjectInserter.close:()V
         3: .line 161
            aload 0 /* this */
            aload 1 /* oi */
            putfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
         4: .line 162
            aload 0 /* this */
            aload 1 /* oi */
            invokevirtual org.eclipse.jgit.lib.ObjectInserter.newReader:()Lorg/eclipse/jgit/lib/ObjectReader;
            putfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
         5: .line 163
            aload 0 /* this */
            new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
            invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/ObjectReader;)V
            putfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
         6: .line 164
            return
        end local 1 // org.eclipse.jgit.lib.ObjectInserter oi
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/merge/Merger;
            0    7     1    oi  Lorg/eclipse/jgit/lib/ObjectInserter;
    MethodParameters:
      Name  Flags
      oi    

  public boolean merge(org.eclipse.jgit.lib.AnyObjectId[]);
    descriptor: ([Lorg/eclipse/jgit/lib/AnyObjectId;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId[] tips
         0: .line 186
            aload 0 /* this */
            iconst_1
            aload 1 /* tips */
            invokevirtual org.eclipse.jgit.merge.Merger.merge:(Z[Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ireturn
        end local 1 // org.eclipse.jgit.lib.AnyObjectId[] tips
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/merge/Merger;
            0    1     1  tips  [Lorg/eclipse/jgit/lib/AnyObjectId;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      tips  

  public boolean merge(boolean, org.eclipse.jgit.lib.AnyObjectId[]);
    descriptor: (Z[Lorg/eclipse/jgit/lib/AnyObjectId;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // boolean flush
        start local 2 // org.eclipse.jgit.lib.AnyObjectId[] tips
         0: .line 215
            aload 0 /* this */
            aload 2 /* tips */
            arraylength
            anewarray org.eclipse.jgit.revwalk.RevObject
            putfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
         1: .line 216
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 217
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
            iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 2 /* tips */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            aastore
         4: .line 216
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            aload 2 /* tips */
            arraylength
            if_icmplt 3
        end local 3 // int i
         6: .line 219
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
            arraylength
            anewarray org.eclipse.jgit.revwalk.RevCommit
            putfield org.eclipse.jgit.merge.Merger.sourceCommits:[Lorg/eclipse/jgit/revwalk/RevCommit;
         7: .line 220
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 14
         9: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceCommits:[Lorg/eclipse/jgit/revwalk/RevCommit;
            iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseCommit:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevCommit;
            aastore
        10: .line 223
            goto 13
      StackMap locals:
      StackMap stack: org.eclipse.jgit.errors.IncorrectObjectTypeException
        11: pop
        12: .line 224
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceCommits:[Lorg/eclipse/jgit/revwalk/RevCommit;
            iload 3 /* i */
            aconst_null
            aastore
        13: .line 220
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
            arraylength
            if_icmplt 9
        end local 3 // int i
        15: .line 228
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
            arraylength
            anewarray org.eclipse.jgit.revwalk.RevTree
            putfield org.eclipse.jgit.merge.Merger.sourceTrees:[Lorg/eclipse/jgit/revwalk/RevTree;
        16: .line 229
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        17: goto 20
        18: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceTrees:[Lorg/eclipse/jgit/revwalk/RevTree;
            iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseTree:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevTree;
            aastore
        19: .line 229
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.sourceObjects:[Lorg/eclipse/jgit/revwalk/RevObject;
            arraylength
            if_icmplt 18
        end local 3 // int i
        21: .line 233
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.merge.Merger.mergeImpl:()Z
            istore 3 /* ok */
        start local 3 // boolean ok
        22: .line 234
            iload 3 /* ok */
            ifeq 24
            iload 1 /* flush */
            ifeq 24
        23: .line 235
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
            invokevirtual org.eclipse.jgit.lib.ObjectInserter.flush:()V
        24: .line 236
      StackMap locals: org.eclipse.jgit.merge.Merger int org.eclipse.jgit.lib.AnyObjectId[] int
      StackMap stack:
            iload 3 /* ok */
            istore 5
        25: .line 238
            iload 1 /* flush */
            ifeq 27
        26: .line 239
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
            invokevirtual org.eclipse.jgit.lib.ObjectInserter.close:()V
        27: .line 240
      StackMap locals: org.eclipse.jgit.merge.Merger int org.eclipse.jgit.lib.AnyObjectId[] int top int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
            invokevirtual org.eclipse.jgit.lib.ObjectReader.close:()V
        28: .line 236
            iload 5
            ireturn
        end local 3 // boolean ok
        29: .line 237
      StackMap locals: org.eclipse.jgit.merge.Merger int org.eclipse.jgit.lib.AnyObjectId[]
      StackMap stack: java.lang.Throwable
            astore 4
        30: .line 238
            iload 1 /* flush */
            ifeq 32
        31: .line 239
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.inserter:Lorg/eclipse/jgit/lib/ObjectInserter;
            invokevirtual org.eclipse.jgit.lib.ObjectInserter.close:()V
        32: .line 240
      StackMap locals: org.eclipse.jgit.merge.Merger int org.eclipse.jgit.lib.AnyObjectId[] top java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
            invokevirtual org.eclipse.jgit.lib.ObjectReader.close:()V
        33: .line 241
            aload 4
            athrow
        end local 2 // org.eclipse.jgit.lib.AnyObjectId[] tips
        end local 1 // boolean flush
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   34     0   this  Lorg/eclipse/jgit/merge/Merger;
            0   34     1  flush  Z
            0   34     2   tips  [Lorg/eclipse/jgit/lib/AnyObjectId;
            2    6     3      i  I
            8   15     3      i  I
           17   21     3      i  I
           22   29     3     ok  Z
      Exception table:
        from    to  target  type
           9    10      11  Class org.eclipse.jgit.errors.IncorrectObjectTypeException
          21    25      29  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      flush  
      tips   

  public abstract org.eclipse.jgit.lib.ObjectId getBaseCommitId();
    descriptor: ()Lorg/eclipse/jgit/lib/ObjectId;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected org.eclipse.jgit.revwalk.RevCommit getBaseCommit(org.eclipse.jgit.revwalk.RevCommit, org.eclipse.jgit.revwalk.RevCommit);
    descriptor: (Lorg/eclipse/jgit/revwalk/RevCommit;Lorg/eclipse/jgit/revwalk/RevCommit;)Lorg/eclipse/jgit/revwalk/RevCommit;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // org.eclipse.jgit.revwalk.RevCommit a
        start local 2 // org.eclipse.jgit.revwalk.RevCommit b
         0: .line 269
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.reset:()V
         1: .line 270
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            getstatic org.eclipse.jgit.revwalk.filter.RevFilter.MERGE_BASE:Lorg/eclipse/jgit/revwalk/filter/RevFilter;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.setRevFilter:(Lorg/eclipse/jgit/revwalk/filter/RevFilter;)V
         2: .line 271
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 1 /* a */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevCommit;)V
         3: .line 272
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            aload 2 /* b */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevCommit;)V
         4: .line 273
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.next:()Lorg/eclipse/jgit/revwalk/RevCommit;
            astore 3 /* base */
        start local 3 // org.eclipse.jgit.revwalk.RevCommit base
         5: .line 274
            aload 3 /* base */
            ifnonnull 7
         6: .line 275
            aconst_null
            areturn
         7: .line 276
      StackMap locals: org.eclipse.jgit.revwalk.RevCommit
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.walk:Lorg/eclipse/jgit/revwalk/RevWalk;
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.next:()Lorg/eclipse/jgit/revwalk/RevCommit;
            astore 4 /* base2 */
        start local 4 // org.eclipse.jgit.revwalk.RevCommit base2
         8: .line 277
            aload 4 /* base2 */
            ifnull 15
         9: .line 278
            new org.eclipse.jgit.errors.NoMergeBaseException
            dup
        10: .line 279
            getstatic org.eclipse.jgit.errors.NoMergeBaseException$MergeBaseFailureReason.MULTIPLE_MERGE_BASES_NOT_SUPPORTED:Lorg/eclipse/jgit/errors/NoMergeBaseException$MergeBaseFailureReason;
        11: .line 281
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.multipleMergeBasesFor:Ljava/lang/String;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* a */
            invokevirtual org.eclipse.jgit.revwalk.RevCommit.name:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* b */
            invokevirtual org.eclipse.jgit.revwalk.RevCommit.name:()Ljava/lang/String;
            aastore
            dup
            iconst_2
        12: .line 282
            aload 3 /* base */
            invokevirtual org.eclipse.jgit.revwalk.RevCommit.name:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 4 /* base2 */
            invokevirtual org.eclipse.jgit.revwalk.RevCommit.name:()Ljava/lang/String;
            aastore
        13: .line 280
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 278
            invokespecial org.eclipse.jgit.errors.NoMergeBaseException.<init>:(Lorg/eclipse/jgit/errors/NoMergeBaseException$MergeBaseFailureReason;Ljava/lang/String;)V
            athrow
        15: .line 284
      StackMap locals: org.eclipse.jgit.revwalk.RevCommit
      StackMap stack:
            aload 3 /* base */
            areturn
        end local 4 // org.eclipse.jgit.revwalk.RevCommit base2
        end local 3 // org.eclipse.jgit.revwalk.RevCommit base
        end local 2 // org.eclipse.jgit.revwalk.RevCommit b
        end local 1 // org.eclipse.jgit.revwalk.RevCommit a
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lorg/eclipse/jgit/merge/Merger;
            0   16     1      a  Lorg/eclipse/jgit/revwalk/RevCommit;
            0   16     2      b  Lorg/eclipse/jgit/revwalk/RevCommit;
            5   16     3   base  Lorg/eclipse/jgit/revwalk/RevCommit;
            8   16     4  base2  Lorg/eclipse/jgit/revwalk/RevCommit;
    Exceptions:
      throws org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException
    MethodParameters:
      Name  Flags
      a     
      b     

  protected org.eclipse.jgit.treewalk.AbstractTreeIterator openTree(org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/treewalk/AbstractTreeIterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId treeId
         0: .line 300
            new org.eclipse.jgit.treewalk.CanonicalTreeParser
            dup
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jgit.merge.Merger.reader:Lorg/eclipse/jgit/lib/ObjectReader;
            aload 1 /* treeId */
            invokespecial org.eclipse.jgit.treewalk.CanonicalTreeParser.<init>:([BLorg/eclipse/jgit/lib/ObjectReader;Lorg/eclipse/jgit/lib/AnyObjectId;)V
            areturn
        end local 1 // org.eclipse.jgit.lib.AnyObjectId treeId
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jgit/merge/Merger;
            0    1     1  treeId  Lorg/eclipse/jgit/lib/AnyObjectId;
    Exceptions:
      throws org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException
    MethodParameters:
        Name  Flags
      treeId  

  protected abstract boolean mergeImpl();
    descriptor: ()Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException

  public abstract org.eclipse.jgit.lib.ObjectId getResultTreeId();
    descriptor: ()Lorg/eclipse/jgit/lib/ObjectId;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public void setProgressMonitor(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.merge.Merger this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
         0: .line 338
            aload 1 /* monitor */
            ifnonnull 3
         1: .line 339
            aload 0 /* this */
            getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
            putfield org.eclipse.jgit.merge.Merger.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
         2: .line 340
            goto 4
         3: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* monitor */
            putfield org.eclipse.jgit.merge.Merger.monitor:Lorg/eclipse/jgit/lib/ProgressMonitor;
         4: .line 343
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor monitor
        end local 0 // org.eclipse.jgit.merge.Merger this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/eclipse/jgit/merge/Merger;
            0    5     1  monitor  Lorg/eclipse/jgit/lib/ProgressMonitor;
    MethodParameters:
         Name  Flags
      monitor  
}
SourceFile: "Merger.java"
InnerClasses:
  public final MergeBaseFailureReason = org.eclipse.jgit.errors.NoMergeBaseException$MergeBaseFailureReason of org.eclipse.jgit.errors.NoMergeBaseException