public class org.eclipse.jgit.internal.storage.file.GC
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jgit.internal.storage.file.GC
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String PRUNE_EXPIRE_DEFAULT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "2.weeks.ago"

  private static final java.lang.String PRUNE_PACK_EXPIRE_DEFAULT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.hour.ago"

  private static final java.util.regex.Pattern PATTERN_LOOSE_OBJECT;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String PACK_EXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String BITMAP_EXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String INDEX_EXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String KEEP_EXT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int DEFAULT_AUTOPACKLIMIT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 50

  private static final int DEFAULT_AUTOLIMIT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6700

  private static volatile java.util.concurrent.ExecutorService executor;
    descriptor: Ljava/util/concurrent/ExecutorService;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private final org.eclipse.jgit.internal.storage.file.FileRepository repo;
    descriptor: Lorg/eclipse/jgit/internal/storage/file/FileRepository;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private long expireAgeMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date expire;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private long packExpireAgeMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.util.Date packExpire;
    descriptor: Ljava/util/Date;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jgit.storage.pack.PackConfig pconfig;
    descriptor: Lorg/eclipse/jgit/storage/pack/PackConfig;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Collection<org.eclipse.jgit.lib.Ref> lastPackedRefs;
    descriptor: Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;

  private long lastRepackTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 102
            ldc Lorg/eclipse/jgit/internal/storage/file/GC;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
         1: .line 101
            putstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
         2: .line 109
            ldc "[0-9a-fA-F]{38}"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
         3: .line 108
            putstatic org.eclipse.jgit.internal.storage.file.GC.PATTERN_LOOSE_OBJECT:Ljava/util/regex/Pattern;
         4: .line 111
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jgit.internal.storage.file.GC.PACK_EXT:Ljava/lang/String;
         5: .line 113
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 114
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 113
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jgit.internal.storage.file.GC.BITMAP_EXT:Ljava/lang/String;
         8: .line 116
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jgit.internal.storage.file.GC.INDEX_EXT:Ljava/lang/String;
         9: .line 118
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.KEEP:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jgit.internal.storage.file.GC.KEEP_EXT:Ljava/lang/String;
        10: .line 124
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void setExecutor(java.util.concurrent.ExecutorService);
    descriptor: (Ljava/util/concurrent/ExecutorService;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.concurrent.ExecutorService e
         0: .line 134
            aload 0 /* e */
            putstatic org.eclipse.jgit.internal.storage.file.GC.executor:Ljava/util/concurrent/ExecutorService;
         1: .line 135
            return
        end local 0 // java.util.concurrent.ExecutorService e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Ljava/util/concurrent/ExecutorService;
    MethodParameters:
      Name  Flags
      e     

  public void <init>(org.eclipse.jgit.internal.storage.file.FileRepository);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/FileRepository;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // org.eclipse.jgit.internal.storage.file.FileRepository repo
         0: .line 183
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 141
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
         2: .line 145
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
         3: .line 184
            aload 0 /* this */
            aload 1 /* repo */
            putfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
         4: .line 185
            aload 0 /* this */
            new org.eclipse.jgit.storage.pack.PackConfig
            dup
            aload 1 /* repo */
            invokespecial org.eclipse.jgit.storage.pack.PackConfig.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            putfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
         5: .line 186
            aload 0 /* this */
            getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
            putfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
         6: .line 187
            return
        end local 1 // org.eclipse.jgit.internal.storage.file.FileRepository repo
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    7     1  repo  Lorg/eclipse/jgit/internal/storage/file/FileRepository;
    MethodParameters:
      Name  Flags
      repo  

  public java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile> gc();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 219
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.background:Z
            ifne 2
         1: .line 220
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.doGc:()Ljava/util/Collection;
            areturn
         2: .line 222
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.internal.storage.file.GcLog
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokespecial org.eclipse.jgit.internal.storage.file.GcLog.<init>:(Lorg/eclipse/jgit/internal/storage/file/FileRepository;)V
            astore 1 /* gcLog */
        start local 1 // org.eclipse.jgit.internal.storage.file.GcLog gcLog
         3: .line 223
            aload 1 /* gcLog */
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.lock:()Z
            ifne 5
         4: .line 225
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         5: .line 228
      StackMap locals: org.eclipse.jgit.internal.storage.file.GcLog
      StackMap stack:
            aload 0 /* this */
            aload 1 /* gcLog */
            invokedynamic call(Lorg/eclipse/jgit/internal/storage/file/GC;Lorg/eclipse/jgit/internal/storage/file/GcLog;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/eclipse/jgit/internal/storage/file/GC.lambda$0(Lorg/eclipse/jgit/internal/storage/file/GcLog;)Ljava/util/Collection; (7)
                  ()Ljava/util/Collection;
            astore 2 /* gcTask */
        start local 2 // java.util.concurrent.Callable gcTask
         6: .line 254
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.executor:()Ljava/util/concurrent/ExecutorService;
            aload 2 /* gcTask */
            invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
            pop
         7: .line 255
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 2 // java.util.concurrent.Callable gcTask
        end local 1 // org.eclipse.jgit.internal.storage.file.GcLog gcLog
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jgit/internal/storage/file/GC;
            3    8     1   gcLog  Lorg/eclipse/jgit/internal/storage/file/GcLog;
            6    8     2  gcTask  Ljava/util/concurrent/Callable<Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;>;
    Exceptions:
      throws java.io.IOException, java.text.ParseException
    Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;

  private java.util.concurrent.ExecutorService executor();
    descriptor: ()Ljava/util/concurrent/ExecutorService;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 259
            getstatic org.eclipse.jgit.internal.storage.file.GC.executor:Ljava/util/concurrent/ExecutorService;
            ifnull 1
            getstatic org.eclipse.jgit.internal.storage.file.GC.executor:Ljava/util/concurrent/ExecutorService;
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic org.eclipse.jgit.lib.internal.WorkQueue.getExecutor:()Ljava/util/concurrent/ScheduledThreadPoolExecutor;
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutorService
         2: areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;

  private java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile> doGc();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 263
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.automatic:Z
            ifeq 2
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.needGc:()Z
            ifne 2
         1: .line 264
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         2: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            bipush 6
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.start:(I)V
         3: .line 267
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.packRefs:()V
         4: .line 269
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.repack:()Ljava/util/Collection;
            astore 1 /* newPacks */
        start local 1 // java.util.Collection newPacks
         5: .line 270
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.prune:(Ljava/util/Set;)V
         6: .line 272
            aload 1 /* newPacks */
            areturn
        end local 1 // java.util.Collection newPacks
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/jgit/internal/storage/file/GC;
            5    7     1  newPacks  Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
    Exceptions:
      throws java.io.IOException, java.text.ParseException
    Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;

  private void loosen(org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter, org.eclipse.jgit.lib.ObjectReader, org.eclipse.jgit.internal.storage.file.PackFile, java.util.HashSet<org.eclipse.jgit.lib.ObjectId>);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;Lorg/eclipse/jgit/lib/ObjectReader;Lorg/eclipse/jgit/internal/storage/file/PackFile;Ljava/util/HashSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter inserter
        start local 2 // org.eclipse.jgit.lib.ObjectReader reader
        start local 3 // org.eclipse.jgit.internal.storage.file.PackFile pack
        start local 4 // java.util.HashSet existing
         0: .line 287
            aload 3 /* pack */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.PackFile java.util.HashSet top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry
            astore 5 /* entry */
        start local 5 // org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry entry
         2: .line 288
            aload 5 /* entry */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry.toObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 7 /* oid */
        start local 7 // org.eclipse.jgit.lib.ObjectId oid
         3: .line 289
            aload 4 /* existing */
            aload 7 /* oid */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 290
            goto 12
         5: .line 292
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.PackFile java.util.HashSet org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry java.util.Iterator org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 4 /* existing */
            aload 7 /* oid */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
         6: .line 293
            aload 2 /* reader */
            aload 7 /* oid */
            invokevirtual org.eclipse.jgit.lib.ObjectReader.open:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/lib/ObjectLoader;
            astore 8 /* loader */
        start local 8 // org.eclipse.jgit.lib.ObjectLoader loader
         7: .line 294
            aload 1 /* inserter */
            aload 8 /* loader */
            invokevirtual org.eclipse.jgit.lib.ObjectLoader.getType:()I
         8: .line 295
            aload 8 /* loader */
            invokevirtual org.eclipse.jgit.lib.ObjectLoader.getSize:()J
         9: .line 296
            aload 8 /* loader */
            invokevirtual org.eclipse.jgit.lib.ObjectLoader.openStream:()Lorg/eclipse/jgit/lib/ObjectStream;
        10: .line 297
            iconst_1
        11: .line 294
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter.insert:(IJLjava/io/InputStream;Z)Lorg/eclipse/jgit/lib/ObjectId;
            pop
        end local 8 // org.eclipse.jgit.lib.ObjectLoader loader
        end local 7 // org.eclipse.jgit.lib.ObjectId oid
        end local 5 // org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry entry
        12: .line 287
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.PackFile java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        13: .line 299
            return
        end local 4 // java.util.HashSet existing
        end local 3 // org.eclipse.jgit.internal.storage.file.PackFile pack
        end local 2 // org.eclipse.jgit.lib.ObjectReader reader
        end local 1 // org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter inserter
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0   14     1  inserter  Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;
            0   14     2    reader  Lorg/eclipse/jgit/lib/ObjectReader;
            0   14     3      pack  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            0   14     4  existing  Ljava/util/HashSet<Lorg/eclipse/jgit/lib/ObjectId;>;
            2   12     5     entry  Lorg/eclipse/jgit/internal/storage/file/PackIndex$MutableEntry;
            3   12     7       oid  Lorg/eclipse/jgit/lib/ObjectId;
            7   12     8    loader  Lorg/eclipse/jgit/lib/ObjectLoader;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;Lorg/eclipse/jgit/lib/ObjectReader;Lorg/eclipse/jgit/internal/storage/file/PackFile;Ljava/util/HashSet<Lorg/eclipse/jgit/lib/ObjectId;>;)V
    MethodParameters:
          Name  Flags
      inserter  
      reader    
      pack      
      existing  

  private void deleteOldPacks(java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile>, java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.util.Collection oldPacks
        start local 2 // java.util.Collection newPacks
         0: .line 319
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* ids */
        start local 3 // java.util.HashSet ids
         1: .line 320
            aload 2 /* newPacks */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackFile
            astore 4 /* pack */
        start local 4 // org.eclipse.jgit.internal.storage.file.PackFile pack
         3: .line 321
            aload 4 /* pack */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.iterator:()Ljava/util/Iterator;
            astore 7
            goto 6
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.internal.storage.file.PackFile java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry
            astore 6 /* entry */
        start local 6 // org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry entry
         5: .line 322
            aload 3 /* ids */
            aload 6 /* entry */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry.toObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry entry
         6: .line 321
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 4 // org.eclipse.jgit.internal.storage.file.PackFile pack
         7: .line 320
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 325
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.newObjectReader:()Lorg/eclipse/jgit/lib/ObjectReader;
            astore 4 /* reader */
        start local 4 // org.eclipse.jgit.lib.ObjectReader reader
         9: .line 326
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            astore 5 /* dir */
        start local 5 // org.eclipse.jgit.internal.storage.file.ObjectDirectory dir
        10: .line 327
            aload 5 /* dir */
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.newInserter:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;
            astore 6 /* inserter */
        start local 6 // org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter inserter
        11: .line 328
            ldc "now"
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getPruneExpireStr:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
        12: .line 329
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getExpireDate:()J
            ldc 9223372036854775807
        13: .line 328
            lcmp
            ifge 14
            iconst_1
            goto 15
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: istore 7 /* shouldLoosen */
        start local 7 // boolean shouldLoosen
        16: .line 331
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.prunePreserved:()V
        17: .line 332
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getPackExpireDate:()J
            lstore 8 /* packExpireDate */
        start local 8 // long packExpireDate
        18: .line 333
            aload 1 /* oldPacks */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 35
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long top java.util.Iterator
      StackMap stack:
        19: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackFile
            astore 10 /* oldPack */
        start local 10 // org.eclipse.jgit.internal.storage.file.PackFile oldPack
        20: .line 334
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        21: .line 335
            aload 10 /* oldPack */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackName:()Ljava/lang/String;
            astore 12 /* oldName */
        start local 12 // java.lang.String oldName
        22: .line 338
            aload 2 /* newPacks */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 14
            goto 26
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long org.eclipse.jgit.internal.storage.file.PackFile java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
        23: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackFile
            astore 13 /* newPack */
        start local 13 // org.eclipse.jgit.internal.storage.file.PackFile newPack
        24: .line 339
            aload 12 /* oldName */
            aload 13 /* newPack */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 340
            goto 35
        end local 13 // org.eclipse.jgit.internal.storage.file.PackFile newPack
        26: .line 338
      StackMap locals:
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        27: .line 342
            aload 10 /* oldPack */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.shouldBeKept:()Z
            ifne 35
        28: .line 343
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getFS:()Lorg/eclipse/jgit/util/FS;
        29: .line 344
            aload 10 /* oldPack */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            invokevirtual org.eclipse.jgit.util.FS.lastModifiedInstant:(Ljava/io/File;)Ljava/time/Instant;
        30: .line 345
            invokevirtual java.time.Instant.toEpochMilli:()J
            lload 8 /* packExpireDate */
            lcmp
            ifge 35
        31: .line 346
            aload 10 /* oldPack */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.close:()V
        32: .line 347
            iload 7 /* shouldLoosen */
            ifeq 34
        33: .line 348
            aload 0 /* this */
            aload 6 /* inserter */
            aload 4 /* reader */
            aload 10 /* oldPack */
            aload 3 /* ids */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.loosen:(Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;Lorg/eclipse/jgit/lib/ObjectReader;Lorg/eclipse/jgit/internal/storage/file/PackFile;Ljava/util/HashSet;)V
        34: .line 350
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long org.eclipse.jgit.internal.storage.file.PackFile java.util.Iterator java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 12 /* oldName */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.prunePack:(Ljava/lang/String;)V
        end local 12 // java.lang.String oldName
        end local 10 // org.eclipse.jgit.internal.storage.file.PackFile oldPack
        35: .line 333
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        36: .line 356
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.close:()V
        37: .line 357
            return
        end local 8 // long packExpireDate
        end local 7 // boolean shouldLoosen
        end local 6 // org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter inserter
        end local 5 // org.eclipse.jgit.internal.storage.file.ObjectDirectory dir
        end local 4 // org.eclipse.jgit.lib.ObjectReader reader
        end local 3 // java.util.HashSet ids
        end local 2 // java.util.Collection newPacks
        end local 1 // java.util.Collection oldPacks
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   38     0            this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0   38     1        oldPacks  Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
            0   38     2        newPacks  Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
            1   38     3             ids  Ljava/util/HashSet<Lorg/eclipse/jgit/lib/ObjectId;>;
            3    7     4            pack  Lorg/eclipse/jgit/internal/storage/file/PackFile;
            5    6     6           entry  Lorg/eclipse/jgit/internal/storage/file/PackIndex$MutableEntry;
            9   38     4          reader  Lorg/eclipse/jgit/lib/ObjectReader;
           10   38     5             dir  Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
           11   38     6        inserter  Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;
           16   38     7    shouldLoosen  Z
           18   38     8  packExpireDate  J
           20   35    10         oldPack  Lorg/eclipse/jgit/internal/storage/file/PackFile;
           22   35    12         oldName  Ljava/lang/String;
           24   26    13         newPack  Lorg/eclipse/jgit/internal/storage/file/PackFile;
    Exceptions:
      throws java.text.ParseException, java.io.IOException
    Signature: (Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;)V
    MethodParameters:
          Name  Flags
      oldPacks  
      newPacks  

  private void removeOldPack(java.io.File, java.lang.String, org.eclipse.jgit.internal.storage.pack.PackExt, int);
    descriptor: (Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.io.File packFile
        start local 2 // java.lang.String packName
        start local 3 // org.eclipse.jgit.internal.storage.pack.PackExt ext
        start local 4 // int deleteOptions
         0: .line 371
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.isPreserveOldPacks:()Z
            ifeq 7
         1: .line 372
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPreservedDirectory:()Ljava/io/File;
            astore 5 /* oldPackDir */
        start local 5 // java.io.File oldPackDir
         2: .line 373
            aload 5 /* oldPackDir */
            iconst_1
            invokestatic org.eclipse.jgit.util.FileUtils.mkdir:(Ljava/io/File;Z)V
         3: .line 375
            new java.lang.StringBuilder
            dup
            ldc "pack-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* packName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".old-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* ext */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* oldPackName */
        start local 6 // java.lang.String oldPackName
         4: .line 376
            new java.io.File
            dup
            aload 5 /* oldPackDir */
            aload 6 /* oldPackName */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 7 /* oldPackFile */
        start local 7 // java.io.File oldPackFile
         5: .line 377
            aload 1 /* packFile */
            aload 7 /* oldPackFile */
            invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;)V
        end local 7 // java.io.File oldPackFile
        end local 6 // java.lang.String oldPackName
        end local 5 // java.io.File oldPackDir
         6: .line 378
            goto 8
         7: .line 379
      StackMap locals:
      StackMap stack:
            aload 1 /* packFile */
            iload 4 /* deleteOptions */
            invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
         8: .line 381
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int deleteOptions
        end local 3 // org.eclipse.jgit.internal.storage.pack.PackExt ext
        end local 2 // java.lang.String packName
        end local 1 // java.io.File packFile
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    9     1       packFile  Ljava/io/File;
            0    9     2       packName  Ljava/lang/String;
            0    9     3            ext  Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            0    9     4  deleteOptions  I
            2    6     5     oldPackDir  Ljava/io/File;
            4    6     6    oldPackName  Ljava/lang/String;
            5    6     7    oldPackFile  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      packFile       
      packName       
      ext            
      deleteOptions  

  private void prunePreserved();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 387
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.isPrunePreserved:()Z
            ifeq 6
         1: .line 389
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPreservedDirectory:()Ljava/io/File;
         2: .line 390
            bipush 7
         3: .line 389
            invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
         4: .line 391
            goto 6
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 395
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
      Exception table:
        from    to  target  type
           1     4       5  Class java.io.IOException

  private void prunePack(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.lang.String packName
         0: .line 408
            invokestatic org.eclipse.jgit.internal.storage.pack.PackExt.values:()[Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            astore 2 /* extensions */
        start local 2 // org.eclipse.jgit.internal.storage.pack.PackExt[] extensions
         1: .line 412
            bipush 6
            istore 3 /* deleteOptions */
        start local 3 // int deleteOptions
         2: .line 413
            aload 2 /* extensions */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[] int top int int org.eclipse.jgit.internal.storage.pack.PackExt[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* ext */
        start local 4 // org.eclipse.jgit.internal.storage.pack.PackExt ext
         4: .line 414
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 4 /* ext */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 415
            aload 0 /* this */
            aload 1 /* packName */
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* ext */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 8 /* f */
        start local 8 // java.io.File f
         6: .line 416
            aload 0 /* this */
            aload 8 /* f */
            aload 1 /* packName */
            aload 4 /* ext */
            iload 3 /* deleteOptions */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeOldPack:(Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)V
         7: .line 417
            goto 10
        end local 8 // java.io.File f
        end local 4 // org.eclipse.jgit.internal.storage.pack.PackExt ext
         8: .line 413
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 3
        10: .line 421
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[] int
      StackMap stack:
            iload 3 /* deleteOptions */
            bipush 8
            ior
            istore 3 /* deleteOptions */
        11: .line 422
            aload 2 /* extensions */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 17
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[] int top int int org.eclipse.jgit.internal.storage.pack.PackExt[]
      StackMap stack:
        12: aload 7
            iload 5
            aaload
            astore 4 /* ext */
        start local 4 // org.eclipse.jgit.internal.storage.pack.PackExt ext
        13: .line 423
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 4 /* ext */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 16
        14: .line 424
            aload 0 /* this */
            aload 1 /* packName */
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* ext */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 8 /* f */
        start local 8 // java.io.File f
        15: .line 425
            aload 0 /* this */
            aload 8 /* f */
            aload 1 /* packName */
            aload 4 /* ext */
            iload 3 /* deleteOptions */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeOldPack:(Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)V
        end local 8 // java.io.File f
        end local 4 // org.eclipse.jgit.internal.storage.pack.PackExt ext
        16: .line 422
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        17: iload 5
            iload 6
            if_icmplt 12
        end local 3 // int deleteOptions
        18: .line 428
            goto 20
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[]
      StackMap stack: java.io.IOException
        19: pop
        20: .line 431
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jgit.internal.storage.pack.PackExt[] extensions
        end local 1 // java.lang.String packName
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0   21     1       packName  Ljava/lang/String;
            1   21     2     extensions  [Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            2   18     3  deleteOptions  I
            4    8     4            ext  Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            6    8     8              f  Ljava/io/File;
           13   16     4            ext  Lorg/eclipse/jgit/internal/storage/pack/PackExt;
           15   16     8              f  Ljava/io/File;
      Exception table:
        from    to  target  type
           1    18      19  Class java.io.IOException
    MethodParameters:
          Name  Flags
      packName  

  public void prunePacked();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=19, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 441
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            astore 1 /* objdb */
        start local 1 // org.eclipse.jgit.internal.storage.file.ObjectDirectory objdb
         1: .line 442
            aload 1 /* objdb */
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
            astore 2 /* packs */
        start local 2 // java.util.Collection packs
         2: .line 443
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
            astore 3 /* objects */
        start local 3 // java.io.File objects
         3: .line 444
            aload 3 /* objects */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 4 /* fanout */
        start local 4 // java.lang.String[] fanout
         4: .line 446
            aload 4 /* fanout */
            ifnull 43
            aload 4 /* fanout */
            arraylength
            ifle 43
         5: .line 447
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.pruneLoosePackedObjects:Ljava/lang/String;
            aload 4 /* fanout */
            arraylength
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
         6: .line 449
            aload 4 /* fanout */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 37
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         7: aload 8
            iload 6
            aaload
            astore 5 /* d */
        start local 5 // java.lang.String d
         8: .line 450
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
         9: .line 451
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            iconst_1
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.update:(I)V
        10: .line 452
            aload 5 /* d */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpeq 12
        11: .line 453
            goto 36
        12: .line 454
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.io.File
            dup
            aload 3 /* objects */
            aload 5 /* d */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 9 /* entries */
        start local 9 // java.lang.String[] entries
        13: .line 455
            aload 9 /* entries */
            ifnonnull 15
        14: .line 456
            goto 36
        15: .line 457
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 9 /* entries */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 35
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        16: aload 13
            iload 11
            aaload
            astore 10 /* e */
        start local 10 // java.lang.String e
        17: .line 458
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        18: .line 459
            aload 10 /* e */
            invokevirtual java.lang.String.length:()I
            bipush 38
            if_icmpeq 20
        19: .line 460
            goto 34
        20: .line 463
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* d */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jgit.lib.ObjectId.fromString:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ObjectId;
            astore 14 /* id */
        start local 14 // org.eclipse.jgit.lib.ObjectId id
        21: .line 464
            goto 24
        end local 14 // org.eclipse.jgit.lib.ObjectId id
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        22: pop
        23: .line 467
            goto 34
        start local 14 // org.eclipse.jgit.lib.ObjectId id
        24: .line 469
      StackMap locals: org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            iconst_0
            istore 15 /* found */
        start local 15 // boolean found
        25: .line 470
            aload 2 /* packs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 17
            goto 31
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] java.lang.String int int java.lang.String[] org.eclipse.jgit.lib.ObjectId int top java.util.Iterator
      StackMap stack:
        26: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackFile
            astore 16 /* p */
        start local 16 // org.eclipse.jgit.internal.storage.file.PackFile p
        27: .line 471
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        28: .line 472
            aload 16 /* p */
            aload 14 /* id */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.hasObject:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifeq 31
        29: .line 473
            iconst_1
            istore 15 /* found */
        30: .line 474
            goto 32
        end local 16 // org.eclipse.jgit.internal.storage.file.PackFile p
        31: .line 470
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        32: .line 477
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] java.lang.String int int java.lang.String[] org.eclipse.jgit.lib.ObjectId int
      StackMap stack:
            iload 15 /* found */
            ifeq 34
        33: .line 478
            aload 1 /* objdb */
            aload 14 /* id */
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.fileFor:(Lorg/eclipse/jgit/lib/AnyObjectId;)Ljava/io/File;
            bipush 14
            invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
        end local 15 // boolean found
        end local 14 // org.eclipse.jgit.lib.ObjectId id
        end local 10 // java.lang.String e
        34: .line 457
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        35: iload 11
            iload 12
            if_icmplt 16
        end local 9 // java.lang.String[] entries
        end local 5 // java.lang.String d
        36: .line 449
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        37: iload 6
            iload 7
            if_icmplt 7
        38: .line 483
            goto 42
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[]
      StackMap stack: java.lang.Throwable
        39: astore 18
        40: .line 484
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        41: .line 485
            aload 18
            athrow
        42: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        43: .line 487
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String[] fanout
        end local 3 // java.io.File objects
        end local 2 // java.util.Collection packs
        end local 1 // org.eclipse.jgit.internal.storage.file.ObjectDirectory objdb
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   44     1    objdb  Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            2   44     2    packs  Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
            3   44     3  objects  Ljava/io/File;
            4   44     4   fanout  [Ljava/lang/String;
            8   36     5        d  Ljava/lang/String;
           13   36     9  entries  [Ljava/lang/String;
           17   34    10        e  Ljava/lang/String;
           21   22    14       id  Lorg/eclipse/jgit/lib/ObjectId;
           24   34    14       id  Lorg/eclipse/jgit/lib/ObjectId;
           25   34    15    found  Z
           27   31    16        p  Lorg/eclipse/jgit/internal/storage/file/PackFile;
      Exception table:
        from    to  target  type
          20    21      22  Class java.lang.IllegalArgumentException
           6    39      39  any
    Exceptions:
      throws java.io.IOException

  public void prune(java.util.Set<org.eclipse.jgit.lib.ObjectId>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=21, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.util.Set objectsToKeep
         0: .line 503
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getExpireDate:()J
            lstore 2 /* expireDate */
        start local 2 // long expireDate
         1: .line 507
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* deletionCandidates */
        start local 4 // java.util.Map deletionCandidates
         2: .line 508
            aconst_null
            astore 5 /* indexObjects */
        start local 5 // java.util.Set indexObjects
         3: .line 509
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
            astore 6 /* objects */
        start local 6 // java.io.File objects
         4: .line 510
            aload 6 /* objects */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 7 /* fanout */
        start local 7 // java.lang.String[] fanout
         5: .line 511
            aload 7 /* fanout */
            ifnull 6
            aload 7 /* fanout */
            arraylength
            ifne 7
         6: .line 512
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[]
      StackMap stack:
            return
         7: .line 514
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.pruneLooseUnreferencedObjects:Ljava/lang/String;
         8: .line 515
            aload 7 /* fanout */
            arraylength
         9: .line 514
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
        10: .line 517
            aload 7 /* fanout */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 43
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        11: aload 11
            iload 9
            aaload
            astore 8 /* d */
        start local 8 // java.lang.String d
        12: .line 518
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        13: .line 519
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            iconst_1
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.update:(I)V
        14: .line 520
            aload 8 /* d */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpeq 16
        15: .line 521
            goto 42
        16: .line 522
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.io.File
            dup
            aload 6 /* objects */
            aload 8 /* d */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 12 /* dir */
        start local 12 // java.io.File dir
        17: .line 523
            aload 12 /* dir */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 13 /* entries */
        start local 13 // java.io.File[] entries
        18: .line 524
            aload 13 /* entries */
            ifnull 19
            aload 13 /* entries */
            arraylength
            ifne 21
        19: .line 525
      StackMap locals: java.io.File java.io.File[]
      StackMap stack:
            aload 12 /* dir */
            bipush 8
            invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
        20: .line 526
            goto 42
        21: .line 528
      StackMap locals:
      StackMap stack:
            aload 13 /* entries */
            dup
            astore 17
            arraylength
            istore 16
            iconst_0
            istore 15
            goto 41
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] top int int java.io.File[]
      StackMap stack:
        22: aload 17
            iload 15
            aaload
            astore 14 /* f */
        start local 14 // java.io.File f
        23: .line 529
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        24: .line 530
            aload 14 /* f */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 18 /* fName */
        start local 18 // java.lang.String fName
        25: .line 531
            aload 18 /* fName */
            invokevirtual java.lang.String.length:()I
            bipush 38
            if_icmpeq 27
        26: .line 532
            goto 40
        27: .line 533
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] java.io.File int int java.io.File[] java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getFS:()Lorg/eclipse/jgit/util/FS;
            aload 14 /* f */
            invokevirtual org.eclipse.jgit.util.FS.lastModifiedInstant:(Ljava/io/File;)Ljava/time/Instant;
        28: .line 534
            invokevirtual java.time.Instant.toEpochMilli:()J
            lload 2 /* expireDate */
            lcmp
            iflt 30
        29: .line 535
            goto 40
        30: .line 538
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 8 /* d */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* fName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jgit.lib.ObjectId.fromString:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ObjectId;
            astore 19 /* id */
        start local 19 // org.eclipse.jgit.lib.ObjectId id
        31: .line 539
            aload 1 /* objectsToKeep */
            aload 19 /* id */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 33
        32: .line 540
            goto 40
        33: .line 541
      StackMap locals: org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 5 /* indexObjects */
            ifnonnull 35
        34: .line 542
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.listNonHEADIndexObjects:()Ljava/util/Set;
            astore 5 /* indexObjects */
        35: .line 543
      StackMap locals:
      StackMap stack:
            aload 5 /* indexObjects */
            aload 19 /* id */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 37
        36: .line 544
            goto 40
        37: .line 545
      StackMap locals:
      StackMap stack:
            aload 4 /* deletionCandidates */
            aload 19 /* id */
            aload 14 /* f */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 19 // org.eclipse.jgit.lib.ObjectId id
        38: .line 546
            goto 40
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] java.io.File int int java.io.File[] java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
        39: pop
        end local 18 // java.lang.String fName
        end local 14 // java.io.File f
        40: .line 528
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] top int int java.io.File[]
      StackMap stack:
            iinc 15 1
      StackMap locals:
      StackMap stack:
        41: iload 15
            iload 16
            if_icmplt 22
        end local 13 // java.io.File[] entries
        end local 12 // java.io.File dir
        end local 8 // java.lang.String d
        42: .line 517
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        43: iload 9
            iload 10
            if_icmplt 11
        44: .line 552
            goto 48
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[]
      StackMap stack: java.lang.Throwable
        45: astore 20
        46: .line 553
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        47: .line 554
            aload 20
            athrow
        48: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        49: .line 556
            aload 4 /* deletionCandidates */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 51
        50: .line 557
            return
        51: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        52: .line 567
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
            ifnull 53
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 55
        53: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
            astore 8 /* newRefs */
        start local 8 // java.util.Collection newRefs
        54: goto 67
        end local 8 // java.util.Collection newRefs
        55: .line 570
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 9 /* last */
        start local 9 // java.util.Map last
        56: .line 571
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 59
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] top java.util.Map top java.util.Iterator
      StackMap stack:
        57: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 10 /* r */
        start local 10 // org.eclipse.jgit.lib.Ref r
        58: .line 572
            aload 9 /* last */
            aload 10 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            aload 10 /* r */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // org.eclipse.jgit.lib.Ref r
        59: .line 571
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 57
        60: .line 574
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* newRefs */
        start local 8 // java.util.Collection newRefs
        61: .line 575
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 66
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
        62: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 10 /* r */
        start local 10 // org.eclipse.jgit.lib.Ref r
        63: .line 576
            aload 9 /* last */
            aload 10 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 12 /* old */
        start local 12 // org.eclipse.jgit.lib.Ref old
        64: .line 577
            aload 10 /* r */
            aload 12 /* old */
            invokestatic org.eclipse.jgit.internal.storage.file.GC.equals:(Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/lib/Ref;)Z
            ifne 66
        65: .line 578
            aload 8 /* newRefs */
            aload 10 /* r */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.eclipse.jgit.lib.Ref old
        end local 10 // org.eclipse.jgit.lib.Ref r
        66: .line 575
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        end local 9 // java.util.Map last
        67: .line 583
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection
      StackMap stack:
            aload 8 /* newRefs */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 85
        68: .line 589
            new org.eclipse.jgit.revwalk.ObjectWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokespecial org.eclipse.jgit.revwalk.ObjectWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 9 /* w */
        start local 9 // org.eclipse.jgit.revwalk.ObjectWalk w
        69: .line 591
            aload 8 /* newRefs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 73
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk top java.util.Iterator
      StackMap stack:
        70: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 10 /* cr */
        start local 10 // org.eclipse.jgit.lib.Ref cr
        71: .line 592
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        72: .line 593
            aload 9 /* w */
            aload 9 /* w */
            aload 10 /* cr */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevObject;)V
        end local 10 // org.eclipse.jgit.lib.Ref cr
        73: .line 591
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 70
        74: .line 595
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
            ifnull 79
        75: .line 596
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 78
      StackMap locals:
      StackMap stack:
        76: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 10 /* lpr */
        start local 10 // org.eclipse.jgit.lib.Ref lpr
        77: .line 597
            aload 9 /* w */
            aload 9 /* w */
            aload 10 /* lpr */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markUninteresting:(Lorg/eclipse/jgit/revwalk/RevObject;)V
        end local 10 // org.eclipse.jgit.lib.Ref lpr
        78: .line 596
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 76
        79: .line 599
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk
      StackMap stack:
            aload 0 /* this */
            aload 4 /* deletionCandidates */
            aload 9 /* w */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeReferenced:(Ljava/util/Map;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
        80: .line 600
            goto 84
      StackMap locals:
      StackMap stack: java.lang.Throwable
        81: astore 12
        82: .line 601
            aload 9 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
        83: .line 602
            aload 12
            athrow
        84: .line 601
      StackMap locals:
      StackMap stack:
            aload 9 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
        end local 9 // org.eclipse.jgit.revwalk.ObjectWalk w
        85: .line 605
      StackMap locals:
      StackMap stack:
            aload 4 /* deletionCandidates */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 87
        86: .line 606
            return
        87: .line 613
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.revwalk.ObjectWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokespecial org.eclipse.jgit.revwalk.ObjectWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 9 /* w */
        start local 9 // org.eclipse.jgit.revwalk.ObjectWalk w
        88: .line 615
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 95
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk top java.util.Iterator
      StackMap stack:
        89: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 10 /* ar */
        start local 10 // org.eclipse.jgit.lib.Ref ar
        90: .line 616
            aload 0 /* this */
            aload 10 /* ar */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastRepackTime:J
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.listRefLogObjects:(Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13
            goto 94
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk org.eclipse.jgit.lib.Ref java.util.Iterator top java.util.Iterator
      StackMap stack:
        91: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectId
            astore 12 /* id */
        start local 12 // org.eclipse.jgit.lib.ObjectId id
        92: .line 617
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        93: .line 618
            aload 9 /* w */
            aload 9 /* w */
            aload 12 /* id */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevObject;)V
        end local 12 // org.eclipse.jgit.lib.ObjectId id
        94: .line 616
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 91
        end local 10 // org.eclipse.jgit.lib.Ref ar
        95: .line 615
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 89
        96: .line 620
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
            ifnull 102
        97: .line 621
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 101
      StackMap locals:
      StackMap stack:
        98: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 10 /* lpr */
        start local 10 // org.eclipse.jgit.lib.Ref lpr
        99: .line 622
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
       100: .line 623
            aload 9 /* w */
            aload 9 /* w */
            aload 10 /* lpr */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markUninteresting:(Lorg/eclipse/jgit/revwalk/RevObject;)V
        end local 10 // org.eclipse.jgit.lib.Ref lpr
       101: .line 621
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 98
       102: .line 625
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk
      StackMap stack:
            aload 0 /* this */
            aload 4 /* deletionCandidates */
            aload 9 /* w */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeReferenced:(Ljava/util/Map;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
       103: .line 626
            goto 107
      StackMap locals:
      StackMap stack: java.lang.Throwable
       104: astore 14
       105: .line 627
            aload 9 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
       106: .line 628
            aload 14
            athrow
       107: .line 627
      StackMap locals:
      StackMap stack:
            aload 9 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
       108: .line 630
            aload 4 /* deletionCandidates */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 110
       109: .line 631
            return
       110: .line 633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
       111: .line 639
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 10 /* touchedFanout */
        start local 10 // java.util.Set touchedFanout
       112: .line 640
            aload 4 /* deletionCandidates */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 12
            goto 117
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk java.util.Set top java.util.Iterator
      StackMap stack:
       113: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 11 /* f */
        start local 11 // java.io.File f
       114: .line 641
            aload 11 /* f */
            invokevirtual java.io.File.lastModified:()J
            lload 2 /* expireDate */
            lcmp
            ifge 117
       115: .line 642
            aload 11 /* f */
            invokevirtual java.io.File.delete:()Z
            pop
       116: .line 643
            aload 10 /* touchedFanout */
            aload 11 /* f */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.io.File f
       117: .line 640
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 113
       118: .line 647
            aload 10 /* touchedFanout */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 123
      StackMap locals:
      StackMap stack:
       119: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 11 /* f */
        start local 11 // java.io.File f
       120: .line 648
            aload 11 /* f */
       121: .line 649
            bipush 24
       122: .line 648
            invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
        end local 11 // java.io.File f
       123: .line 647
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 119
       124: .line 652
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.close:()V
       125: .line 653
            return
        end local 10 // java.util.Set touchedFanout
        end local 9 // org.eclipse.jgit.revwalk.ObjectWalk w
        end local 8 // java.util.Collection newRefs
        end local 7 // java.lang.String[] fanout
        end local 6 // java.io.File objects
        end local 5 // java.util.Set indexObjects
        end local 4 // java.util.Map deletionCandidates
        end local 2 // long expireDate
        end local 1 // java.util.Set objectsToKeep
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  126     0                this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0  126     1       objectsToKeep  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            1  126     2          expireDate  J
            2  126     4  deletionCandidates  Ljava/util/Map<Lorg/eclipse/jgit/lib/ObjectId;Ljava/io/File;>;
            3  126     5        indexObjects  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            4  126     6             objects  Ljava/io/File;
            5  126     7              fanout  [Ljava/lang/String;
           12   42     8                   d  Ljava/lang/String;
           17   42    12                 dir  Ljava/io/File;
           18   42    13             entries  [Ljava/io/File;
           23   40    14                   f  Ljava/io/File;
           25   40    18               fName  Ljava/lang/String;
           31   38    19                  id  Lorg/eclipse/jgit/lib/ObjectId;
           54   55     8             newRefs  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
           61  126     8             newRefs  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
           56   67     9                last  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/Ref;>;
           58   59    10                   r  Lorg/eclipse/jgit/lib/Ref;
           63   66    10                   r  Lorg/eclipse/jgit/lib/Ref;
           64   66    12                 old  Lorg/eclipse/jgit/lib/Ref;
           69   85     9                   w  Lorg/eclipse/jgit/revwalk/ObjectWalk;
           71   73    10                  cr  Lorg/eclipse/jgit/lib/Ref;
           77   78    10                 lpr  Lorg/eclipse/jgit/lib/Ref;
           88  126     9                   w  Lorg/eclipse/jgit/revwalk/ObjectWalk;
           90   95    10                  ar  Lorg/eclipse/jgit/lib/Ref;
           92   94    12                  id  Lorg/eclipse/jgit/lib/ObjectId;
           99  101    10                 lpr  Lorg/eclipse/jgit/lib/Ref;
          112  126    10       touchedFanout  Ljava/util/Set<Ljava/io/File;>;
          114  117    11                   f  Ljava/io/File;
          120  123    11                   f  Ljava/io/File;
      Exception table:
        from    to  target  type
          30    32      39  Class java.lang.IllegalArgumentException
          33    36      39  Class java.lang.IllegalArgumentException
          37    38      39  Class java.lang.IllegalArgumentException
          10    45      45  any
          69    81      81  any
          88   104     104  any
    Exceptions:
      throws java.io.IOException, java.text.ParseException
    Signature: (Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;)V
    MethodParameters:
               Name  Flags
      objectsToKeep  

  private long getExpireDate();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 656
            ldc 9223372036854775807
            lstore 1 /* expireDate */
        start local 1 // long expireDate
         1: .line 658
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
            ifnonnull 9
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
            ldc -1
            lcmp
            ifne 9
         2: .line 659
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getPruneExpireStr:()Ljava/lang/String;
            astore 3 /* pruneExpireStr */
        start local 3 // java.lang.String pruneExpireStr
         3: .line 660
            aload 3 /* pruneExpireStr */
            ifnonnull 5
         4: .line 661
            ldc "2.weeks.ago"
            astore 3 /* pruneExpireStr */
         5: .line 662
      StackMap locals: long java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pruneExpireStr */
            aconst_null
         6: .line 663
            invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
            invokevirtual org.eclipse.jgit.util.SystemReader.getLocale:()Ljava/util/Locale;
         7: .line 662
            invokestatic org.eclipse.jgit.util.GitDateParser.parse:(Ljava/lang/String;Ljava/util/Calendar;Ljava/util/Locale;)Ljava/util/Date;
            putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
         8: .line 664
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
        end local 3 // java.lang.String pruneExpireStr
         9: .line 666
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
            ifnull 11
        10: .line 667
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lstore 1 /* expireDate */
        11: .line 668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
            ldc -1
            lcmp
            ifeq 13
        12: .line 669
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
            lsub
            lstore 1 /* expireDate */
        13: .line 670
      StackMap locals:
      StackMap stack:
            lload 1 /* expireDate */
            lreturn
        end local 1 // long expireDate
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   14     1      expireDate  J
            3    9     3  pruneExpireStr  Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException

  private java.lang.String getPruneExpireStr();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 674
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
         1: .line 675
            ldc "gc"
            aconst_null
         2: .line 676
            ldc "pruneexpire"
         3: .line 674
            invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;

  private long getPackExpireDate();
    descriptor: ()J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 680
            ldc 9223372036854775807
            lstore 1 /* packExpireDate */
        start local 1 // long packExpireDate
         1: .line 682
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
            ifnonnull 12
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
            ldc -1
            lcmp
            ifne 12
         2: .line 683
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
         3: .line 684
            ldc "gc"
            aconst_null
         4: .line 685
            ldc "prunepackexpire"
         5: .line 683
            invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* prunePackExpireStr */
        start local 3 // java.lang.String prunePackExpireStr
         6: .line 686
            aload 3 /* prunePackExpireStr */
            ifnonnull 8
         7: .line 687
            ldc "1.hour.ago"
            astore 3 /* prunePackExpireStr */
         8: .line 688
      StackMap locals: long java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* prunePackExpireStr */
            aconst_null
         9: .line 689
            invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
            invokevirtual org.eclipse.jgit.util.SystemReader.getLocale:()Ljava/util/Locale;
        10: .line 688
            invokestatic org.eclipse.jgit.util.GitDateParser.parse:(Ljava/lang/String;Ljava/util/Calendar;Ljava/util/Locale;)Ljava/util/Date;
            putfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
        11: .line 690
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
        end local 3 // java.lang.String prunePackExpireStr
        12: .line 692
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
            ifnull 14
        13: .line 693
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lstore 1 /* packExpireDate */
        14: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
            ldc -1
            lcmp
            ifeq 16
        15: .line 695
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
            lsub
            lstore 1 /* packExpireDate */
        16: .line 696
      StackMap locals:
      StackMap stack:
            lload 1 /* packExpireDate */
            lreturn
        end local 1 // long packExpireDate
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   17     1      packExpireDate  J
            6   12     3  prunePackExpireStr  Ljava/lang/String;
    Exceptions:
      throws java.text.ParseException

  private void removeReferenced(java.util.Map<org.eclipse.jgit.lib.ObjectId, java.io.File>, org.eclipse.jgit.revwalk.ObjectWalk);
    descriptor: (Ljava/util/Map;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.util.Map id2File
        start local 2 // org.eclipse.jgit.revwalk.ObjectWalk w
         0: .line 712
            aload 2 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.next:()Lorg/eclipse/jgit/revwalk/RevCommit;
            astore 3 /* ro */
        start local 3 // org.eclipse.jgit.revwalk.RevObject ro
         1: .line 713
            goto 6
         2: .line 714
      StackMap locals: org.eclipse.jgit.revwalk.RevObject
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
         3: .line 715
            aload 1 /* id2File */
            aload 3 /* ro */
            invokevirtual org.eclipse.jgit.revwalk.RevObject.getId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 5
            aload 1 /* id2File */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 5
         4: .line 716
            return
         5: .line 718
      StackMap locals:
      StackMap stack:
            aload 2 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.next:()Lorg/eclipse/jgit/revwalk/RevCommit;
            astore 3 /* ro */
         6: .line 713
      StackMap locals:
      StackMap stack:
            aload 3 /* ro */
            ifnonnull 2
         7: .line 720
            aload 2 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.nextObject:()Lorg/eclipse/jgit/revwalk/RevObject;
            astore 3 /* ro */
         8: .line 721
            goto 13
         9: .line 722
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        10: .line 723
            aload 1 /* id2File */
            aload 3 /* ro */
            invokevirtual org.eclipse.jgit.revwalk.RevObject.getId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 12
            aload 1 /* id2File */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 12
        11: .line 724
            return
        12: .line 726
      StackMap locals:
      StackMap stack:
            aload 2 /* w */
            invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.nextObject:()Lorg/eclipse/jgit/revwalk/RevObject;
            astore 3 /* ro */
        13: .line 721
      StackMap locals:
      StackMap stack:
            aload 3 /* ro */
            ifnonnull 9
        14: .line 728
            return
        end local 3 // org.eclipse.jgit.revwalk.RevObject ro
        end local 2 // org.eclipse.jgit.revwalk.ObjectWalk w
        end local 1 // java.util.Map id2File
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0   15     1  id2File  Ljava/util/Map<Lorg/eclipse/jgit/lib/ObjectId;Ljava/io/File;>;
            0   15     2        w  Lorg/eclipse/jgit/revwalk/ObjectWalk;
            1   15     3       ro  Lorg/eclipse/jgit/revwalk/RevObject;
    Exceptions:
      throws org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException
    Signature: (Ljava/util/Map<Lorg/eclipse/jgit/lib/ObjectId;Ljava/io/File;>;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
    MethodParameters:
         Name  Flags
      id2File  
      w        

  private static boolean equals(org.eclipse.jgit.lib.Ref, org.eclipse.jgit.lib.Ref);
    descriptor: (Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/lib/Ref;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.lib.Ref r1
        start local 1 // org.eclipse.jgit.lib.Ref r2
         0: .line 731
            aload 0 /* r1 */
            ifnull 1
            aload 1 /* r2 */
            ifnonnull 2
         1: .line 732
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* r1 */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifeq 7
         3: .line 735
            aload 1 /* r2 */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifeq 6
            aload 0 /* r1 */
            invokeinterface org.eclipse.jgit.lib.Ref.getTarget:()Lorg/eclipse/jgit/lib/Ref;
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
         4: .line 736
            aload 1 /* r2 */
            invokeinterface org.eclipse.jgit.lib.Ref.getTarget:()Lorg/eclipse/jgit/lib/Ref;
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 735
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 738
      StackMap locals:
      StackMap stack:
            aload 1 /* r2 */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifne 10
         8: .line 739
            aload 0 /* r1 */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 1 /* r2 */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 10
         9: .line 738
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
            ireturn
        end local 1 // org.eclipse.jgit.lib.Ref r2
        end local 0 // org.eclipse.jgit.lib.Ref r1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0    r1  Lorg/eclipse/jgit/lib/Ref;
            0   11     1    r2  Lorg/eclipse/jgit/lib/Ref;
    MethodParameters:
      Name  Flags
      r1    
      r2    

  public void packRefs();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 750
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            astore 1 /* refDb */
        start local 1 // org.eclipse.jgit.lib.RefDatabase refDb
         1: .line 751
            aload 1 /* refDb */
            instanceof org.eclipse.jgit.internal.storage.file.FileReftableDatabase
            ifeq 10
         2: .line 753
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.packRefs:Ljava/lang/String;
            iconst_1
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
         3: .line 755
            aload 1 /* refDb */
            checkcast org.eclipse.jgit.internal.storage.file.FileReftableDatabase
            invokevirtual org.eclipse.jgit.internal.storage.file.FileReftableDatabase.compactFully:()V
         4: .line 756
            goto 8
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase
      StackMap stack: java.lang.Throwable
         5: astore 2
         6: .line 757
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
         7: .line 758
            aload 2
            athrow
         8: .line 757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
         9: .line 759
            return
        10: .line 762
      StackMap locals:
      StackMap stack:
            aload 1 /* refDb */
            ldc "refs/"
            invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefsByPrefix:(Ljava/lang/String;)Ljava/util/List;
            astore 2 /* refs */
        start local 2 // java.util.Collection refs
        11: .line 763
            new java.util.ArrayList
            dup
            aload 2 /* refs */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* refsToBePacked */
        start local 3 // java.util.List refsToBePacked
        12: .line 764
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.packRefs:Ljava/lang/String;
            aload 2 /* refs */
            invokeinterface java.util.Collection.size:()I
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
        13: .line 766
            aload 2 /* refs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 19
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 4 /* ref */
        start local 4 // org.eclipse.jgit.lib.Ref ref
        15: .line 767
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        16: .line 768
            aload 4 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifne 18
            aload 4 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getStorage:()Lorg/eclipse/jgit/lib/Ref$Storage;
            invokevirtual org.eclipse.jgit.lib.Ref$Storage.isLoose:()Z
            ifeq 18
        17: .line 769
            aload 3 /* refsToBePacked */
            aload 4 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 770
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List org.eclipse.jgit.lib.Ref java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            iconst_1
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.update:(I)V
        end local 4 // org.eclipse.jgit.lib.Ref ref
        19: .line 766
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        20: .line 772
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            checkcast org.eclipse.jgit.internal.storage.file.RefDirectory
            aload 3 /* refsToBePacked */
            invokevirtual org.eclipse.jgit.internal.storage.file.RefDirectory.pack:(Ljava/util/List;)V
        21: .line 773
            goto 25
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List
      StackMap stack: java.lang.Throwable
        22: astore 6
        23: .line 774
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        24: .line 775
            aload 6
            athrow
        25: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        26: .line 776
            return
        end local 3 // java.util.List refsToBePacked
        end local 2 // java.util.Collection refs
        end local 1 // org.eclipse.jgit.lib.RefDatabase refDb
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   27     0            this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   27     1           refDb  Lorg/eclipse/jgit/lib/RefDatabase;
           11   27     2            refs  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
           12   27     3  refsToBePacked  Ljava/util/List<Ljava/lang/String;>;
           15   19     4             ref  Lorg/eclipse/jgit/lib/Ref;
      Exception table:
        from    to  target  type
           3     5       5  any
          13    22      22  any
    Exceptions:
      throws java.io.IOException

  public java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile> repack();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=17, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 793
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
            astore 1 /* toBeDeleted */
        start local 1 // java.util.Collection toBeDeleted
         1: .line 795
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* time */
        start local 2 // long time
         2: .line 796
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
            astore 4 /* refsBefore */
        start local 4 // java.util.Collection refsBefore
         3: .line 798
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* allHeadsAndTags */
        start local 5 // java.util.Set allHeadsAndTags
         4: .line 799
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* allHeads */
        start local 6 // java.util.Set allHeads
         5: .line 800
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* allTags */
        start local 7 // java.util.Set allTags
         6: .line 801
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 8 /* nonHeads */
        start local 8 // java.util.Set nonHeads
         7: .line 802
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* txnHeads */
        start local 9 // java.util.Set txnHeads
         8: .line 803
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 10 /* tagTargets */
        start local 10 // java.util.Set tagTargets
         9: .line 804
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.listNonHEADIndexObjects:()Ljava/util/Set;
            astore 11 /* indexObjects */
        start local 11 // java.util.Set indexObjects
        10: .line 805
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            astore 12 /* refdb */
        start local 12 // org.eclipse.jgit.lib.RefDatabase refdb
        11: .line 807
            aload 4 /* refsBefore */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 14
            goto 29
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
      StackMap stack:
        12: aload 14
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 13 /* ref */
        start local 13 // org.eclipse.jgit.lib.Ref ref
        13: .line 808
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        14: .line 809
            aload 8 /* nonHeads */
            aload 0 /* this */
            aload 13 /* ref */
            lconst_0
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.listRefLogObjects:(Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        15: .line 810
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifne 29
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            ifnonnull 17
        16: .line 811
            goto 29
        17: .line 813
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase org.eclipse.jgit.lib.Ref java.util.Iterator
      StackMap stack:
            aload 13 /* ref */
            invokestatic org.eclipse.jgit.internal.storage.file.GC.isHead:(Lorg/eclipse/jgit/lib/Ref;)Z
            ifeq 20
        18: .line 814
            aload 6 /* allHeads */
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        19: .line 815
            goto 27
      StackMap locals:
      StackMap stack:
        20: aload 13 /* ref */
            invokestatic org.eclipse.jgit.internal.storage.file.GC.isTag:(Lorg/eclipse/jgit/lib/Ref;)Z
            ifeq 23
        21: .line 816
            aload 7 /* allTags */
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        22: .line 817
            goto 27
      StackMap locals:
      StackMap stack:
        23: aload 12 /* refdb */
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jgit.internal.storage.reftree.RefTreeNames.isRefTree:(Lorg/eclipse/jgit/lib/RefDatabase;Ljava/lang/String;)Z
            ifeq 26
        24: .line 818
            aload 9 /* txnHeads */
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        25: .line 819
            goto 27
        26: .line 820
      StackMap locals:
      StackMap stack:
            aload 8 /* nonHeads */
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        27: .line 822
      StackMap locals:
      StackMap stack:
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getPeeledObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            ifnull 29
        28: .line 823
            aload 10 /* tagTargets */
            aload 13 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getPeeledObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.eclipse.jgit.lib.Ref ref
        29: .line 807
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
      StackMap stack:
            aload 14
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        30: .line 827
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 13 /* excluded */
        start local 13 // java.util.List excluded
        31: .line 828
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 15
            goto 36
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase java.util.List top java.util.Iterator
      StackMap stack:
        32: aload 15
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackFile
            astore 14 /* f */
        start local 14 // org.eclipse.jgit.internal.storage.file.PackFile f
        33: .line 829
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        34: .line 830
            aload 14 /* f */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.shouldBeKept:()Z
            ifeq 36
        35: .line 831
            aload 13 /* excluded */
            aload 14 /* f */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getIndex:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // org.eclipse.jgit.internal.storage.file.PackFile f
        36: .line 828
      StackMap locals:
      StackMap stack:
            aload 15
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        37: .line 835
            aload 7 /* allTags */
            aload 6 /* allHeads */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        38: .line 836
            aload 5 /* allHeadsAndTags */
            aload 6 /* allHeads */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        39: .line 837
            aload 5 /* allHeadsAndTags */
            aload 7 /* allTags */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        40: .line 840
            aload 10 /* tagTargets */
            aload 5 /* allHeadsAndTags */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        41: .line 841
            aload 8 /* nonHeads */
            aload 11 /* indexObjects */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        42: .line 844
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.getSinglePack:()Z
            ifeq 45
        43: .line 845
            aload 5 /* allHeadsAndTags */
            aload 8 /* nonHeads */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        44: .line 846
            aload 8 /* nonHeads */
            invokeinterface java.util.Set.clear:()V
        45: .line 849
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 14 /* ret */
        start local 14 // java.util.List ret
        46: .line 850
            aconst_null
            astore 15 /* heads */
        start local 15 // org.eclipse.jgit.internal.storage.file.PackFile heads
        47: .line 851
            aload 5 /* allHeadsAndTags */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 54
        48: .line 852
            aload 0 /* this */
            aload 5 /* allHeadsAndTags */
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
            aload 7 /* allTags */
        49: .line 853
            aload 10 /* tagTargets */
            aload 13 /* excluded */
        50: .line 852
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.writePack:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
            astore 15 /* heads */
        51: .line 854
            aload 15 /* heads */
            ifnull 54
        52: .line 855
            aload 14 /* ret */
            aload 15 /* heads */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        53: .line 856
            aload 13 /* excluded */
            iconst_0
            aload 15 /* heads */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getIndex:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        54: .line 859
      StackMap locals: java.util.List org.eclipse.jgit.internal.storage.file.PackFile
      StackMap stack:
            aload 8 /* nonHeads */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 60
        55: .line 860
            aload 0 /* this */
            aload 8 /* nonHeads */
            aload 5 /* allHeadsAndTags */
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
        56: .line 861
            aload 10 /* tagTargets */
            aload 13 /* excluded */
        57: .line 860
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.writePack:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
            astore 16 /* rest */
        start local 16 // org.eclipse.jgit.internal.storage.file.PackFile rest
        58: .line 862
            aload 16 /* rest */
            ifnull 60
        59: .line 863
            aload 14 /* ret */
            aload 16 /* rest */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // org.eclipse.jgit.internal.storage.file.PackFile rest
        60: .line 865
      StackMap locals:
      StackMap stack:
            aload 9 /* txnHeads */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 66
        61: .line 866
            aload 0 /* this */
            aload 9 /* txnHeads */
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
        62: .line 867
            aconst_null
            aload 13 /* excluded */
        63: .line 866
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.writePack:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
            astore 16 /* txn */
        start local 16 // org.eclipse.jgit.internal.storage.file.PackFile txn
        64: .line 868
            aload 16 /* txn */
            ifnull 66
        65: .line 869
            aload 14 /* ret */
            aload 16 /* txn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // org.eclipse.jgit.internal.storage.file.PackFile txn
        66: .line 872
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* toBeDeleted */
            aload 14 /* ret */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteOldPacks:(Ljava/util/Collection;Ljava/util/Collection;)V
        67: .line 873
            goto 70
      StackMap locals:
      StackMap stack: java.text.ParseException
        68: astore 16 /* e */
        start local 16 // java.text.ParseException e
        69: .line 877
            new java.io.IOException
            dup
            aload 16 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 16 // java.text.ParseException e
        70: .line 879
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.prunePacked:()V
        71: .line 880
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            instanceof org.eclipse.jgit.internal.storage.file.RefDirectory
            ifeq 73
        72: .line 882
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteEmptyRefsFolders:()V
        73: .line 884
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteOrphans:()V
        74: .line 885
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteTempPacksIdx:()V
        75: .line 887
            aload 0 /* this */
            aload 4 /* refsBefore */
            putfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
        76: .line 888
            aload 0 /* this */
            lload 2 /* time */
            putfield org.eclipse.jgit.internal.storage.file.GC.lastRepackTime:J
        77: .line 889
            aload 14 /* ret */
            areturn
        end local 15 // org.eclipse.jgit.internal.storage.file.PackFile heads
        end local 14 // java.util.List ret
        end local 13 // java.util.List excluded
        end local 12 // org.eclipse.jgit.lib.RefDatabase refdb
        end local 11 // java.util.Set indexObjects
        end local 10 // java.util.Set tagTargets
        end local 9 // java.util.Set txnHeads
        end local 8 // java.util.Set nonHeads
        end local 7 // java.util.Set allTags
        end local 6 // java.util.Set allHeads
        end local 5 // java.util.Set allHeadsAndTags
        end local 4 // java.util.Collection refsBefore
        end local 2 // long time
        end local 1 // java.util.Collection toBeDeleted
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   78     0             this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   78     1      toBeDeleted  Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
            2   78     2             time  J
            3   78     4       refsBefore  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
            4   78     5  allHeadsAndTags  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            5   78     6         allHeads  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            6   78     7          allTags  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            7   78     8         nonHeads  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            8   78     9         txnHeads  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            9   78    10       tagTargets  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
           10   78    11     indexObjects  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
           11   78    12            refdb  Lorg/eclipse/jgit/lib/RefDatabase;
           13   29    13              ref  Lorg/eclipse/jgit/lib/Ref;
           31   78    13         excluded  Ljava/util/List<Lorg/eclipse/jgit/lib/ObjectIdSet;>;
           33   36    14                f  Lorg/eclipse/jgit/internal/storage/file/PackFile;
           46   78    14              ret  Ljava/util/List<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
           47   78    15            heads  Lorg/eclipse/jgit/internal/storage/file/PackFile;
           58   60    16             rest  Lorg/eclipse/jgit/internal/storage/file/PackFile;
           64   66    16              txn  Lorg/eclipse/jgit/internal/storage/file/PackFile;
           69   70    16                e  Ljava/text/ParseException;
      Exception table:
        from    to  target  type
          66    67      68  Class java.text.ParseException
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;

  private static boolean isHead(org.eclipse.jgit.lib.Ref);
    descriptor: (Lorg/eclipse/jgit/lib/Ref;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.lib.Ref ref
         0: .line 893
            aload 0 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            ldc "refs/heads/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // org.eclipse.jgit.lib.Ref ref
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ref  Lorg/eclipse/jgit/lib/Ref;
    MethodParameters:
      Name  Flags
      ref   

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

  private void deleteEmptyRefsFolders();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 901
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getDirectory:()Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            ldc "refs/"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 1 /* refs */
        start local 1 // java.nio.file.Path refs
         1: .line 904
            invokestatic java.time.Instant.now:()Ljava/time/Instant;
            ldc 30
            getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.Instant.minus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
            astore 2 /* threshold */
        start local 2 // java.time.Instant threshold
         2: .line 905
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 1 /* refs */
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jgit/internal/storage/file/GC.lambda$11(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
         4: .line 906
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         5: .line 905
            astore 5 /* entries */
        start local 5 // java.util.stream.Stream entries
         6: .line 907
            aload 5 /* entries */
            invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
            astore 6 /* iterator */
        start local 6 // java.util.Iterator iterator
         7: .line 908
            goto 17
         8: .line 909
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.Iterator
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         9: aload 6 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.nio.file.Path
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            astore 9 /* s */
        start local 9 // java.util.stream.Stream s
        10: .line 910
            aload 9 /* s */
            aload 0 /* this */
            aload 2 /* threshold */
            invokedynamic test(Lorg/eclipse/jgit/internal/storage/file/GC;Ljava/time/Instant;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jgit/internal/storage/file/GC.lambda$2(Ljava/time/Instant;Ljava/nio/file/Path;)Z (7)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic accept(Lorg/eclipse/jgit/internal/storage/file/GC;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/eclipse/jgit/internal/storage/file/GC.deleteDir(Ljava/nio/file/Path;)V (7)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        11: .line 911
            aload 9 /* s */
            ifnull 17
            aload 9 /* s */
            invokeinterface java.util.stream.Stream.close:()V
            goto 17
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.Iterator java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.lang.Throwable
        12: astore 7
            aload 9 /* s */
            ifnull 13
            aload 9 /* s */
            invokeinterface java.util.stream.Stream.close:()V
        end local 9 // java.util.stream.Stream s
      StackMap locals:
      StackMap stack:
        13: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 8
            aload 7
            ifnonnull 15
            aload 8
            astore 7
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 7
            aload 8
            if_acmpeq 16
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 7
            athrow
        17: .line 908
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 6 // java.util.Iterator iterator
        18: .line 913
            aload 5 /* entries */
            ifnull 24
            aload 5 /* entries */
            invokeinterface java.util.stream.Stream.close:()V
            goto 24
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.lang.Throwable
        19: astore 3
            aload 5 /* entries */
            ifnull 20
            aload 5 /* entries */
            invokeinterface java.util.stream.Stream.close:()V
        end local 5 // java.util.stream.Stream entries
      StackMap locals:
      StackMap stack:
        20: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 4
            aload 3
            ifnonnull 22
            aload 4
            astore 3
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 3
            aload 4
            if_acmpeq 23
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 3
            athrow
        24: .line 914
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.time.Instant threshold
        end local 1 // java.nio.file.Path refs
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   25     0       this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   25     1       refs  Ljava/nio/file/Path;
            2   25     2  threshold  Ljava/time/Instant;
            6   20     5    entries  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
            7   18     6   iterator  Ljava/util/Iterator<Ljava/nio/file/Path;>;
           10   13     9          s  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
      Exception table:
        from    to  target  type
          10    11      12  any
           9    14      14  any
           6    18      19  any
           3    21      21  any
    Exceptions:
      throws java.io.IOException

  private boolean canBeSafelyDeleted(java.nio.file.Path, java.time.Instant);
    descriptor: (Ljava/nio/file/Path;Ljava/time/Instant;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.nio.file.Path path
        start local 2 // java.time.Instant threshold
         0: .line 918
            aload 1 /* path */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.getLastModifiedTime:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
            invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
            aload 2 /* threshold */
            invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
         1: ireturn
         2: .line 920
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 921
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
         4: .line 922
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.cannotAccessLastModifiedForSafeDeletion:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 923
            aload 1 /* path */
            aastore
         6: .line 921
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         7: .line 923
            aload 3 /* e */
         8: .line 921
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
         9: .line 924
            iconst_0
            ireturn
        end local 3 // java.io.IOException e
        end local 2 // java.time.Instant threshold
        end local 1 // java.nio.file.Path path
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0   10     1       path  Ljava/nio/file/Path;
            0   10     2  threshold  Ljava/time/Instant;
            3   10     3          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
           Name  Flags
      path       
      threshold  

  private void deleteDir(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.nio.file.Path dir
         0: .line 929
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 1 /* dir */
            iconst_0
            anewarray java.nio.file.FileVisitOption
            invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
            astore 4 /* dirs */
        start local 4 // java.util.stream.Stream dirs
         2: .line 930
            aload 4 /* dirs */
            aload 0 /* this */
            invokedynamic test(Lorg/eclipse/jgit/internal/storage/file/GC;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jgit/internal/storage/file/GC.isDirectory(Ljava/nio/file/Path;)Z (7)
                  (Ljava/nio/file/Path;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.Comparator.reverseOrder:()Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
         3: .line 931
            aload 0 /* this */
            invokedynamic accept(Lorg/eclipse/jgit/internal/storage/file/GC;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/eclipse/jgit/internal/storage/file/GC.delete(Ljava/nio/file/Path;)V (7)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         4: .line 932
            aload 4 /* dirs */
            ifnull 12
            aload 4 /* dirs */
            invokeinterface java.util.stream.Stream.close:()V
            goto 12
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.lang.Throwable
         5: astore 2
            aload 4 /* dirs */
            ifnull 6
            aload 4 /* dirs */
            invokeinterface java.util.stream.Stream.close:()V
        end local 4 // java.util.stream.Stream dirs
      StackMap locals:
      StackMap stack:
         6: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 3
            aload 2
            ifnonnull 8
            aload 3
            astore 2
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2
            aload 3
            if_acmpeq 9
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 2
            athrow
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path
      StackMap stack: java.io.IOException
        10: astore 2 /* e */
        start local 2 // java.io.IOException e
        11: .line 933
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 2 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException e
        12: .line 935
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path dir
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0   13     1   dir  Ljava/nio/file/Path;
            2    6     4  dirs  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
           11   12     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     4       5  any
           1     7       7  any
           0    10      10  Class java.io.IOException
    MethodParameters:
      Name  Flags
      dir   

  private boolean isDirectory(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.nio.file.Path p
         0: .line 938
            aload 1 /* p */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isDirectory:()Z
            ireturn
        end local 1 // java.nio.file.Path p
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    1     1     p  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      p     

  private void delete(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.nio.file.Path d
         0: .line 943
            aload 1 /* d */
            invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
         1: .line 944
            goto 7
      StackMap locals:
      StackMap stack: java.nio.file.DirectoryNotEmptyException
         2: pop
            goto 7
         3: .line 946
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         4: .line 947
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.cannotDeleteFile:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* d */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         5: .line 948
            aload 2 /* e */
         6: .line 947
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException e
         7: .line 950
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path d
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    8     1     d  Ljava/nio/file/Path;
            4    7     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.nio.file.DirectoryNotEmptyException
           0     1       3  Class java.io.IOException
    MethodParameters:
      Name  Flags
      d     

  private void deleteOrphans();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 960
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 1 /* packDir */
        start local 1 // java.nio.file.Path packDir
         1: .line 961
            aconst_null
            astore 2 /* fileNames */
        start local 2 // java.util.List fileNames
         2: .line 962
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 1 /* packDir */
            invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
            astore 5 /* files */
        start local 5 // java.util.stream.Stream files
         4: .line 963
            aload 5 /* files */
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/eclipse/jgit/internal/storage/file/GC.lambda$6(Ljava/nio/file/Path;)Ljava/lang/String; (6)
                  (Ljava/nio/file/Path;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         5: .line 964
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jgit/internal/storage/file/GC.lambda$7(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         6: .line 970
            invokestatic java.util.Collections.reverseOrder:()Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
         7: .line 971
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         8: .line 963
            astore 2 /* fileNames */
         9: .line 972
            aload 5 /* files */
            ifnull 18
            aload 5 /* files */
            invokeinterface java.util.stream.Stream.close:()V
            goto 18
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.Throwable java.lang.Throwable java.util.stream.Stream
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* files */
            ifnull 11
            aload 5 /* files */
            invokeinterface java.util.stream.Stream.close:()V
        end local 5 // java.util.stream.Stream files
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List
      StackMap stack: java.io.IOException
        15: astore 3 /* e */
        start local 3 // java.io.IOException e
        16: .line 973
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            aload 3 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 3 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        17: .line 974
            return
        end local 3 // java.io.IOException e
        18: .line 976
      StackMap locals:
      StackMap stack:
            aload 2 /* fileNames */
            ifnonnull 20
        19: .line 977
            return
        20: .line 980
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* base */
        start local 3 // java.lang.String base
        21: .line 981
            aload 2 /* fileNames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 35
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.String top java.util.Iterator
      StackMap stack:
        22: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* n */
        start local 4 // java.lang.String n
        23: .line 982
            aload 4 /* n */
            getstatic org.eclipse.jgit.internal.storage.file.GC.PACK_EXT:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 24
            aload 4 /* n */
            getstatic org.eclipse.jgit.internal.storage.file.GC.KEEP_EXT:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 26
        24: .line 983
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.String java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* n */
            iconst_0
            aload 4 /* n */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* base */
        25: .line 984
            goto 35
        26: .line 985
      StackMap locals:
      StackMap stack:
            aload 3 /* base */
            ifnull 27
            aload 4 /* n */
            aload 3 /* base */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 35
        27: .line 987
      StackMap locals:
      StackMap stack:
            aload 1 /* packDir */
            aload 4 /* n */
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 6 /* delete */
        start local 6 // java.nio.file.Path delete
        28: .line 988
            aload 6 /* delete */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
        29: .line 989
            bipush 6
        30: .line 988
            invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
        31: .line 990
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.deletedOrphanInPackDir:Ljava/lang/String;
            aload 6 /* delete */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 6 // java.nio.file.Path delete
        32: .line 991
            goto 35
      StackMap locals:
      StackMap stack: java.io.IOException
        33: astore 6 /* e */
        start local 6 // java.io.IOException e
        34: .line 992
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            aload 6 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 6 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.io.IOException e
        end local 4 // java.lang.String n
        35: .line 981
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.String top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        36: .line 997
            return
        end local 3 // java.lang.String base
        end local 2 // java.util.List fileNames
        end local 1 // java.nio.file.Path packDir
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   37     0       this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   37     1    packDir  Ljava/nio/file/Path;
            2   37     2  fileNames  Ljava/util/List<Ljava/lang/String;>;
            4   11     5      files  Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
           16   18     3          e  Ljava/io/IOException;
           21   37     3       base  Ljava/lang/String;
           23   35     4          n  Ljava/lang/String;
           28   32     6     delete  Ljava/nio/file/Path;
           34   35     6          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     9      10  any
           3    12      12  any
           2    15      15  Class java.io.IOException
          27    32      33  Class java.io.IOException

  private void deleteTempPacksIdx();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1000
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            astore 1 /* packDir */
        start local 1 // java.nio.file.Path packDir
         1: .line 1001
            invokestatic java.time.Instant.now:()Ljava/time/Instant;
            lconst_1
            getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
            invokevirtual java.time.Instant.minus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
            astore 2 /* threshold */
        start local 2 // java.time.Instant threshold
         2: .line 1002
            aload 1 /* packDir */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifne 4
         3: .line 1003
            return
         4: .line 1005
      StackMap locals: java.nio.file.Path java.time.Instant
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
         5: .line 1006
            aload 1 /* packDir */
            ldc "gc_*_tmp"
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
         6: .line 1005
            astore 5 /* stream */
        start local 5 // java.nio.file.DirectoryStream stream
         7: .line 1007
            aload 5 /* stream */
            aload 2 /* threshold */
            invokedynamic accept(Ljava/time/Instant;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/eclipse/jgit/internal/storage/file/GC.lambda$8(Ljava/time/Instant;Ljava/nio/file/Path;)V (6)
                  (Ljava/nio/file/Path;)V
            invokeinterface java.nio.file.DirectoryStream.forEach:(Ljava/util/function/Consumer;)V
         8: .line 1018
            aload 5 /* stream */
            ifnull 16
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 16
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 5 /* stream */
            ifnull 10
            aload 5 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 5 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        10: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 4
            aload 3
            ifnonnull 12
            aload 4
            astore 3
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 3
            aload 4
            if_acmpeq 13
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant
      StackMap stack: java.io.IOException
        14: astore 3 /* e */
        start local 3 // java.io.IOException e
        15: .line 1019
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            aload 3 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 3 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.io.IOException e
        16: .line 1021
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.time.Instant threshold
        end local 1 // java.nio.file.Path packDir
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   17     1    packDir  Ljava/nio/file/Path;
            2   17     2  threshold  Ljava/time/Instant;
            7   10     5     stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           15   16     3          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           7     8       9  any
           5    11      11  any
           4    14      14  Class java.io.IOException

  private java.util.Set<org.eclipse.jgit.lib.ObjectId> listRefLogObjects(org.eclipse.jgit.lib.Ref, long);
    descriptor: (Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // org.eclipse.jgit.lib.Ref ref
        start local 2 // long minTime
         0: .line 1031
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            aload 1 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getReflogReader:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ReflogReader;
            astore 4 /* reflogReader */
        start local 4 // org.eclipse.jgit.lib.ReflogReader reflogReader
         1: .line 1032
            aload 4 /* reflogReader */
            ifnonnull 3
         2: .line 1033
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         3: .line 1035
      StackMap locals: org.eclipse.jgit.lib.ReflogReader
      StackMap stack:
            aload 4 /* reflogReader */
         4: .line 1036
            invokeinterface org.eclipse.jgit.lib.ReflogReader.getReverseEntries:()Ljava/util/List;
         5: .line 1035
            astore 5 /* rlEntries */
        start local 5 // java.util.List rlEntries
         6: .line 1037
            aload 5 /* rlEntries */
            ifnull 7
            aload 5 /* rlEntries */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 8
         7: .line 1038
      StackMap locals: java.util.List
      StackMap stack:
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         8: .line 1039
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* ret */
        start local 6 // java.util.Set ret
         9: .line 1040
            aload 5 /* rlEntries */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 19
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ReflogEntry
            astore 7 /* e */
        start local 7 // org.eclipse.jgit.lib.ReflogEntry e
        11: .line 1041
            aload 7 /* e */
            invokeinterface org.eclipse.jgit.lib.ReflogEntry.getWho:()Lorg/eclipse/jgit/lib/PersonIdent;
            invokevirtual org.eclipse.jgit.lib.PersonIdent.getWhen:()Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lload 2 /* minTime */
            lcmp
            ifge 13
        12: .line 1042
            goto 20
        13: .line 1043
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set org.eclipse.jgit.lib.ReflogEntry java.util.Iterator
      StackMap stack:
            aload 7 /* e */
            invokeinterface org.eclipse.jgit.lib.ReflogEntry.getNewId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 9 /* newId */
        start local 9 // org.eclipse.jgit.lib.ObjectId newId
        14: .line 1044
            aload 9 /* newId */
            ifnull 16
            invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 9 /* newId */
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifne 16
        15: .line 1045
            aload 6 /* ret */
            aload 9 /* newId */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1046
      StackMap locals: org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 7 /* e */
            invokeinterface org.eclipse.jgit.lib.ReflogEntry.getOldId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 10 /* oldId */
        start local 10 // org.eclipse.jgit.lib.ObjectId oldId
        17: .line 1047
            aload 10 /* oldId */
            ifnull 19
            invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
            aload 10 /* oldId */
            invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifne 19
        18: .line 1048
            aload 6 /* ret */
            aload 10 /* oldId */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.eclipse.jgit.lib.ObjectId oldId
        end local 9 // org.eclipse.jgit.lib.ObjectId newId
        end local 7 // org.eclipse.jgit.lib.ReflogEntry e
        19: .line 1040
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        20: .line 1050
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set
      StackMap stack:
            aload 6 /* ret */
            areturn
        end local 6 // java.util.Set ret
        end local 5 // java.util.List rlEntries
        end local 4 // org.eclipse.jgit.lib.ReflogReader reflogReader
        end local 2 // long minTime
        end local 1 // org.eclipse.jgit.lib.Ref ref
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0   21     1           ref  Lorg/eclipse/jgit/lib/Ref;
            0   21     2       minTime  J
            1   21     4  reflogReader  Lorg/eclipse/jgit/lib/ReflogReader;
            6   21     5     rlEntries  Ljava/util/List<Lorg/eclipse/jgit/lib/ReflogEntry;>;
            9   21     6           ret  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
           11   19     7             e  Lorg/eclipse/jgit/lib/ReflogEntry;
           14   19     9         newId  Lorg/eclipse/jgit/lib/ObjectId;
           17   19    10         oldId  Lorg/eclipse/jgit/lib/ObjectId;
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
    MethodParameters:
         Name  Flags
      ref      
      minTime  

  private java.util.Collection<org.eclipse.jgit.lib.Ref> getAllRefs();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1065
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            astore 1 /* refdb */
        start local 1 // org.eclipse.jgit.lib.RefDatabase refdb
         1: .line 1066
            aload 1 /* refdb */
            invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefs:()Ljava/util/List;
            astore 2 /* refs */
        start local 2 // java.util.Collection refs
         2: .line 1067
            aload 1 /* refdb */
            invokevirtual org.eclipse.jgit.lib.RefDatabase.getAdditionalRefs:()Ljava/util/List;
            astore 3 /* addl */
        start local 3 // java.util.List addl
         3: .line 1068
            aload 3 /* addl */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 13
         4: .line 1069
            new java.util.ArrayList
            dup
            aload 2 /* refs */
            invokeinterface java.util.Collection.size:()I
            aload 3 /* addl */
            invokeinterface java.util.List.size:()I
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* all */
        start local 4 // java.util.List all
         5: .line 1070
            aload 4 /* all */
            aload 2 /* refs */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 1072
            aload 3 /* addl */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 5 /* r */
        start local 5 // org.eclipse.jgit.lib.Ref r
         8: .line 1073
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
         9: .line 1074
            aload 5 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            ldc "refs/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 1075
            aload 4 /* all */
            aload 5 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.eclipse.jgit.lib.Ref r
        11: .line 1072
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 1078
            aload 4 /* all */
            areturn
        end local 4 // java.util.List all
        13: .line 1080
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List
      StackMap stack:
            aload 2 /* refs */
            areturn
        end local 3 // java.util.List addl
        end local 2 // java.util.Collection refs
        end local 1 // org.eclipse.jgit.lib.RefDatabase refdb
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   14     1  refdb  Lorg/eclipse/jgit/lib/RefDatabase;
            2   14     2   refs  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
            3   14     3   addl  Ljava/util/List<Lorg/eclipse/jgit/lib/Ref;>;
            5   13     4    all  Ljava/util/List<Lorg/eclipse/jgit/lib/Ref;>;
            8   11     5      r  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;

  private java.util.Set<org.eclipse.jgit.lib.ObjectId> listNonHEADIndexObjects();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=8, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1094
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.isBare:()Z
            ifeq 2
         1: .line 1095
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         2: .line 1097
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1
            aconst_null
            astore 2
         3: new org.eclipse.jgit.treewalk.TreeWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokespecial org.eclipse.jgit.treewalk.TreeWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 3 /* treeWalk */
        start local 3 // org.eclipse.jgit.treewalk.TreeWalk treeWalk
         4: .line 1098
            aload 3 /* treeWalk */
            new org.eclipse.jgit.dircache.DirCacheIterator
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.readDirCache:()Lorg/eclipse/jgit/dircache/DirCache;
            invokespecial org.eclipse.jgit.dircache.DirCacheIterator.<init>:(Lorg/eclipse/jgit/dircache/DirCache;)V
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.addTree:(Lorg/eclipse/jgit/treewalk/AbstractTreeIterator;)I
            pop
         5: .line 1099
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            ldc "HEAD"
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.resolve:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ObjectId;
            astore 4 /* headID */
        start local 4 // org.eclipse.jgit.lib.ObjectId headID
         6: .line 1100
            aload 4 /* headID */
            ifnull 16
         7: .line 1101
            aconst_null
            astore 5
            aconst_null
            astore 6
         8: new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            astore 7 /* revWalk */
        start local 7 // org.eclipse.jgit.revwalk.RevWalk revWalk
         9: .line 1102
            aload 3 /* treeWalk */
            aload 7 /* revWalk */
            aload 4 /* headID */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseTree:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevTree;
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.addTree:(Lorg/eclipse/jgit/lib/AnyObjectId;)I
            pop
        10: .line 1103
            aload 7 /* revWalk */
            ifnull 16
            aload 7 /* revWalk */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
            goto 16
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk org.eclipse.jgit.lib.ObjectId java.lang.Throwable java.lang.Throwable org.eclipse.jgit.revwalk.RevWalk
      StackMap stack: java.lang.Throwable
        11: astore 5
            aload 7 /* revWalk */
            ifnull 12
            aload 7 /* revWalk */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
        end local 7 // org.eclipse.jgit.revwalk.RevWalk revWalk
      StackMap locals:
      StackMap stack:
        12: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 6
            aload 5
            ifnonnull 14
            aload 6
            astore 5
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 5
            aload 6
            if_acmpeq 15
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 5
            athrow
        16: .line 1106
      StackMap locals:
      StackMap stack:
            aload 3 /* treeWalk */
            getstatic org.eclipse.jgit.treewalk.filter.TreeFilter.ANY_DIFF:Lorg/eclipse/jgit/treewalk/filter/TreeFilter;
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.setFilter:(Lorg/eclipse/jgit/treewalk/filter/TreeFilter;)V
        17: .line 1107
            aload 3 /* treeWalk */
            iconst_1
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.setRecursive:(Z)V
        18: .line 1108
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* ret */
        start local 5 // java.util.Set ret
        19: .line 1110
            goto 37
        20: .line 1111
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        21: .line 1112
            aload 3 /* treeWalk */
            iconst_0
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getObjectId:(I)Lorg/eclipse/jgit/lib/ObjectId;
            astore 6 /* objectId */
        start local 6 // org.eclipse.jgit.lib.ObjectId objectId
        22: .line 1113
            aload 3 /* treeWalk */
            iconst_0
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getRawMode:(I)I
            ldc 61440
            iand
            lookupswitch { // 5
                    0: 23
                16384: 24
                32768: 24
                40960: 24
                57344: 23
              default: 26
          }
        23: .line 1116
      StackMap locals: org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            goto 37
        24: .line 1120
      StackMap locals:
      StackMap stack:
            aload 5 /* ret */
            aload 6 /* objectId */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1121
            goto 37
        26: .line 1123
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
        27: .line 1124
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.corruptObjectInvalidMode3:Ljava/lang/String;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        28: .line 1125
            ldc "%o"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        29: .line 1126
            aload 3 /* treeWalk */
            iconst_0
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getRawMode:(I)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
        30: .line 1125
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        31: .line 1127
            aload 6 /* objectId */
            ifnonnull 32
            ldc "null"
            goto 33
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk org.eclipse.jgit.lib.ObjectId java.util.Set org.eclipse.jgit.lib.ObjectId
      StackMap stack: new 26 new 26 java.lang.String java.lang.Object[] java.lang.Object[] int
        32: aload 6 /* objectId */
            invokevirtual org.eclipse.jgit.lib.ObjectId.name:()Ljava/lang/String;
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk org.eclipse.jgit.lib.ObjectId java.util.Set org.eclipse.jgit.lib.ObjectId
      StackMap stack: new 26 new 26 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        33: aastore
            dup
            iconst_2
        34: .line 1128
            aload 3 /* treeWalk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getPathString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        35: .line 1129
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getIndexFile:()Ljava/io/File;
            aastore
        36: .line 1123
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // org.eclipse.jgit.lib.ObjectId objectId
        37: .line 1110
      StackMap locals:
      StackMap stack:
            aload 3 /* treeWalk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.next:()Z
            ifne 20
        38: .line 1132
            aload 5 /* ret */
        39: .line 1133
            aload 3 /* treeWalk */
            ifnull 40
            aload 3 /* treeWalk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
        40: .line 1132
      StackMap locals:
      StackMap stack: java.util.Set
            areturn
        end local 5 // java.util.Set ret
        end local 4 // org.eclipse.jgit.lib.ObjectId headID
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk
      StackMap stack: java.lang.Throwable
        41: astore 1
        42: .line 1133
            aload 3 /* treeWalk */
            ifnull 43
            aload 3 /* treeWalk */
            invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
        end local 3 // org.eclipse.jgit.treewalk.TreeWalk treeWalk
      StackMap locals:
      StackMap stack:
        43: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 2
            aload 1
            ifnonnull 45
            aload 2
            astore 1
            goto 46
      StackMap locals:
      StackMap stack:
        45: aload 1
            aload 2
            if_acmpeq 46
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        46: aload 1
            athrow
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   47     0      this  Lorg/eclipse/jgit/internal/storage/file/GC;
            4   43     3  treeWalk  Lorg/eclipse/jgit/treewalk/TreeWalk;
            6   41     4    headID  Lorg/eclipse/jgit/lib/ObjectId;
            9   12     7   revWalk  Lorg/eclipse/jgit/revwalk/RevWalk;
           19   41     5       ret  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
           22   37     6  objectId  Lorg/eclipse/jgit/lib/ObjectId;
      Exception table:
        from    to  target  type
           9    10      11  any
           8    13      13  any
           4    39      41  any
           3    40      44  any
          41    44      44  any
    Exceptions:
      throws org.eclipse.jgit.errors.CorruptObjectException, java.io.IOException
    Signature: ()Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;

  private org.eclipse.jgit.internal.storage.file.PackFile writePack(java.util.Set<? extends org.eclipse.jgit.lib.ObjectId>, java.util.Set<? extends org.eclipse.jgit.lib.ObjectId>, java.util.Set<org.eclipse.jgit.lib.ObjectId>, java.util.Set<org.eclipse.jgit.lib.ObjectId>, java.util.List<org.eclipse.jgit.lib.ObjectIdSet>);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=26, args_size=6
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.util.Set want
        start local 2 // java.util.Set have
        start local 3 // java.util.Set tags
        start local 4 // java.util.Set tagTargets
        start local 5 // java.util.List excludeObjects
         0: .line 1140
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
         1: .line 1141
            aconst_null
            astore 6 /* tmpPack */
        start local 6 // java.io.File tmpPack
         2: .line 1142
            new java.util.TreeMap
            dup
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  org/eclipse/jgit/internal/storage/file/GC.lambda$9(Lorg/eclipse/jgit/internal/storage/pack/PackExt;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)I (6)
                  (Lorg/eclipse/jgit/internal/storage/pack/PackExt;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)I
            invokespecial java.util.TreeMap.<init>:(Ljava/util/Comparator;)V
            astore 7 /* tmpExts */
        start local 7 // java.util.Map tmpExts
         3: .line 1157
            aconst_null
            astore 8
            aconst_null
            astore 9
         4: new org.eclipse.jgit.internal.storage.pack.PackWriter
            dup
         5: .line 1158
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
         6: .line 1159
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.newObjectReader:()Lorg/eclipse/jgit/lib/ObjectReader;
         7: .line 1157
            invokespecial org.eclipse.jgit.internal.storage.pack.PackWriter.<init>:(Lorg/eclipse/jgit/storage/pack/PackConfig;Lorg/eclipse/jgit/lib/ObjectReader;)V
            astore 10 /* pw */
        start local 10 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
         8: .line 1161
            aload 10 /* pw */
            iconst_1
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setDeltaBaseAsOffset:(Z)V
         9: .line 1162
            aload 10 /* pw */
            iconst_0
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setReuseDeltaCommits:(Z)V
        10: .line 1163
            aload 4 /* tagTargets */
            ifnull 12
        11: .line 1164
            aload 10 /* pw */
            aload 4 /* tagTargets */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setTagTargets:(Ljava/util/Set;)V
        12: .line 1166
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
      StackMap stack:
            aload 5 /* excludeObjects */
            ifnull 17
        13: .line 1167
            aload 5 /* excludeObjects */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 16
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter top java.util.Iterator
      StackMap stack:
        14: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectIdSet
            astore 11 /* idx */
        start local 11 // org.eclipse.jgit.lib.ObjectIdSet idx
        15: .line 1168
            aload 10 /* pw */
            aload 11 /* idx */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.excludeObjects:(Lorg/eclipse/jgit/lib/ObjectIdSet;)V
        end local 11 // org.eclipse.jgit.lib.ObjectIdSet idx
        16: .line 1167
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 1169
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
      StackMap stack:
            aload 10 /* pw */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            aload 1 /* want */
            aload 2 /* have */
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
            aload 3 /* tags */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.preparePack:(Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
        18: .line 1170
            aload 10 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getObjectCount:()J
            lconst_0
            lcmp
            ifne 28
        19: .line 1272
            aload 10 /* pw */
            ifnull 20
            aload 10 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
        20: .line 1273
      StackMap locals:
      StackMap stack:
            aload 6 /* tmpPack */
            ifnull 22
            aload 6 /* tmpPack */
            invokevirtual java.io.File.exists:()Z
            ifeq 22
        21: .line 1274
            aload 6 /* tmpPack */
            invokevirtual java.io.File.delete:()Z
            pop
        22: .line 1275
      StackMap locals:
      StackMap stack:
            aload 7 /* tmpExts */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 25
            goto 26
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter top top top top top top top top top top top top top top java.util.Iterator
      StackMap stack:
        23: aload 25
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 24 /* tmpExt */
        start local 24 // java.io.File tmpExt
        24: .line 1276
            aload 24 /* tmpExt */
            invokevirtual java.io.File.exists:()Z
            ifeq 26
        25: .line 1277
            aload 24 /* tmpExt */
            invokevirtual java.io.File.delete:()Z
            pop
        end local 24 // java.io.File tmpExt
        26: .line 1275
      StackMap locals:
      StackMap stack:
            aload 25
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        27: .line 1171
            aconst_null
            areturn
        28: .line 1172
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
        29: .line 1175
            aload 10 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.computeName:()Lorg/eclipse/jgit/lib/ObjectId;
            invokevirtual org.eclipse.jgit.lib.ObjectId.getName:()Ljava/lang/String;
            astore 11 /* id */
        start local 11 // java.lang.String id
        30: .line 1176
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
            astore 12 /* packdir */
        start local 12 // java.io.File packdir
        31: .line 1177
            aload 12 /* packdir */
            invokevirtual java.io.File.mkdirs:()Z
            pop
        32: .line 1178
            ldc "gc_"
            ldc ".pack_tmp"
            aload 12 /* packdir */
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
            astore 6 /* tmpPack */
        33: .line 1179
            aload 6 /* tmpPack */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
        34: .line 1180
            iconst_0
            aload 6 /* tmpPack */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        35: .line 1179
            astore 13 /* tmpBase */
        start local 13 // java.lang.String tmpBase
        36: .line 1181
            new java.io.File
            dup
            aload 12 /* packdir */
            new java.lang.StringBuilder
            dup
            aload 13 /* tmpBase */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".idx_tmp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 14 /* tmpIdx */
        start local 14 // java.io.File tmpIdx
        37: .line 1182
            aload 7 /* tmpExts */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 14 /* tmpIdx */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 1184
            aload 14 /* tmpIdx */
            invokevirtual java.io.File.createNewFile:()Z
            ifne 42
        39: .line 1185
            new java.io.IOException
            dup
        40: .line 1186
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.cannotCreateIndexfile:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 14 /* tmpIdx */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            aastore
        41: .line 1185
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 1189
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File
      StackMap stack:
            aconst_null
            astore 15
            aconst_null
            astore 16
        43: new java.io.FileOutputStream
            dup
            aload 6 /* tmpPack */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 17 /* fos */
        start local 17 // java.io.FileOutputStream fos
        44: .line 1190
            aload 17 /* fos */
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            astore 18 /* channel */
        start local 18 // java.nio.channels.FileChannel channel
        45: .line 1192
            aload 18 /* channel */
            invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
        46: .line 1191
            astore 19 /* channelStream */
        start local 19 // java.io.OutputStream channelStream
        47: .line 1193
            aload 10 /* pw */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            aload 19 /* channelStream */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writePack:(Lorg/eclipse/jgit/lib/ProgressMonitor;Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/io/OutputStream;)V
        48: .line 1194
            aload 18 /* channel */
            iconst_1
            invokevirtual java.nio.channels.FileChannel.force:(Z)V
        49: .line 1195
            aload 19 /* channelStream */
            ifnull 52
            aload 19 /* channelStream */
            invokevirtual java.io.OutputStream.close:()V
            goto 52
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.nio.channels.FileChannel java.io.OutputStream
      StackMap stack: java.lang.Throwable
        50: astore 15
            aload 19 /* channelStream */
            ifnull 51
            aload 19 /* channelStream */
            invokevirtual java.io.OutputStream.close:()V
        end local 19 // java.io.OutputStream channelStream
      StackMap locals:
      StackMap stack:
        51: aload 15
            athrow
      StackMap locals:
      StackMap stack:
        52: aload 18 /* channel */
            ifnull 57
            aload 18 /* channel */
            invokevirtual java.nio.channels.FileChannel.close:()V
            goto 57
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: astore 16
            aload 15
            ifnonnull 54
            aload 16
            astore 15
            goto 55
      StackMap locals:
      StackMap stack:
        54: aload 15
            aload 16
            if_acmpeq 55
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        55: aload 18 /* channel */
            ifnull 56
            aload 18 /* channel */
            invokevirtual java.nio.channels.FileChannel.close:()V
        end local 18 // java.nio.channels.FileChannel channel
      StackMap locals:
      StackMap stack:
        56: aload 15
            athrow
      StackMap locals:
      StackMap stack:
        57: aload 17 /* fos */
            ifnull 65
            aload 17 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 65
      StackMap locals:
      StackMap stack: java.lang.Throwable
        58: astore 16
            aload 15
            ifnonnull 59
            aload 16
            astore 15
            goto 60
      StackMap locals:
      StackMap stack:
        59: aload 15
            aload 16
            if_acmpeq 60
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        60: aload 17 /* fos */
            ifnull 61
            aload 17 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 17 // java.io.FileOutputStream fos
      StackMap locals:
      StackMap stack:
        61: aload 15
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: astore 16
            aload 15
            ifnonnull 63
            aload 16
            astore 15
            goto 64
      StackMap locals:
      StackMap stack:
        63: aload 15
            aload 16
            if_acmpeq 64
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        64: aload 15
            athrow
        65: .line 1198
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 15
            aconst_null
            astore 16
        66: new java.io.FileOutputStream
            dup
            aload 14 /* tmpIdx */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 17 /* fos */
        start local 17 // java.io.FileOutputStream fos
        67: .line 1199
            aload 17 /* fos */
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            astore 18 /* idxChannel */
        start local 18 // java.nio.channels.FileChannel idxChannel
        68: .line 1201
            aload 18 /* idxChannel */
            invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
        69: .line 1200
            astore 19 /* idxStream */
        start local 19 // java.io.OutputStream idxStream
        70: .line 1202
            aload 10 /* pw */
            aload 19 /* idxStream */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writeIndex:(Ljava/io/OutputStream;)V
        71: .line 1203
            aload 18 /* idxChannel */
            iconst_1
            invokevirtual java.nio.channels.FileChannel.force:(Z)V
        72: .line 1204
            aload 19 /* idxStream */
            ifnull 75
            aload 19 /* idxStream */
            invokevirtual java.io.OutputStream.close:()V
            goto 75
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.nio.channels.FileChannel java.io.OutputStream
      StackMap stack: java.lang.Throwable
        73: astore 15
            aload 19 /* idxStream */
            ifnull 74
            aload 19 /* idxStream */
            invokevirtual java.io.OutputStream.close:()V
        end local 19 // java.io.OutputStream idxStream
      StackMap locals:
      StackMap stack:
        74: aload 15
            athrow
      StackMap locals:
      StackMap stack:
        75: aload 18 /* idxChannel */
            ifnull 80
            aload 18 /* idxChannel */
            invokevirtual java.nio.channels.FileChannel.close:()V
            goto 80
      StackMap locals:
      StackMap stack: java.lang.Throwable
        76: astore 16
            aload 15
            ifnonnull 77
            aload 16
            astore 15
            goto 78
      StackMap locals:
      StackMap stack:
        77: aload 15
            aload 16
            if_acmpeq 78
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        78: aload 18 /* idxChannel */
            ifnull 79
            aload 18 /* idxChannel */
            invokevirtual java.nio.channels.FileChannel.close:()V
        end local 18 // java.nio.channels.FileChannel idxChannel
      StackMap locals:
      StackMap stack:
        79: aload 15
            athrow
      StackMap locals:
      StackMap stack:
        80: aload 17 /* fos */
            ifnull 88
            aload 17 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 88
      StackMap locals:
      StackMap stack: java.lang.Throwable
        81: astore 16
            aload 15
            ifnonnull 82
            aload 16
            astore 15
            goto 83
      StackMap locals:
      StackMap stack:
        82: aload 15
            aload 16
            if_acmpeq 83
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        83: aload 17 /* fos */
            ifnull 84
            aload 17 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 17 // java.io.FileOutputStream fos
      StackMap locals:
      StackMap stack:
        84: aload 15
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        85: astore 16
            aload 15
            ifnonnull 86
            aload 16
            astore 15
            goto 87
      StackMap locals:
      StackMap stack:
        86: aload 15
            aload 16
            if_acmpeq 87
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        87: aload 15
            athrow
        88: .line 1206
      StackMap locals:
      StackMap stack:
            aload 10 /* pw */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.prepareBitmapIndex:(Lorg/eclipse/jgit/lib/ProgressMonitor;)Z
            ifeq 119
        89: .line 1207
            new java.io.File
            dup
            aload 12 /* packdir */
            new java.lang.StringBuilder
            dup
            aload 13 /* tmpBase */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".bitmap_tmp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 15 /* tmpBitmapIdx */
        start local 15 // java.io.File tmpBitmapIdx
        90: .line 1208
            aload 7 /* tmpExts */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 15 /* tmpBitmapIdx */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        91: .line 1210
            aload 15 /* tmpBitmapIdx */
            invokevirtual java.io.File.createNewFile:()Z
            ifne 96
        92: .line 1211
            new java.io.IOException
            dup
        93: .line 1212
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.cannotCreateIndexfile:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        94: .line 1213
            aload 15 /* tmpBitmapIdx */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            aastore
        95: .line 1211
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        96: .line 1215
      StackMap locals: java.io.File
      StackMap stack:
            aconst_null
            astore 16
            aconst_null
            astore 17
        97: new java.io.FileOutputStream
            dup
            aload 15 /* tmpBitmapIdx */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 18 /* fos */
        start local 18 // java.io.FileOutputStream fos
        98: .line 1216
            aload 18 /* fos */
            invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
            astore 19 /* idxChannel */
        start local 19 // java.nio.channels.FileChannel idxChannel
        99: .line 1218
            aload 19 /* idxChannel */
            invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
       100: .line 1217
            astore 20 /* idxStream */
        start local 20 // java.io.OutputStream idxStream
       101: .line 1219
            aload 10 /* pw */
            aload 20 /* idxStream */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writeBitmapIndex:(Ljava/io/OutputStream;)V
       102: .line 1220
            aload 19 /* idxChannel */
            iconst_1
            invokevirtual java.nio.channels.FileChannel.force:(Z)V
       103: .line 1221
            aload 20 /* idxStream */
            ifnull 106
            aload 20 /* idxStream */
            invokevirtual java.io.OutputStream.close:()V
            goto 106
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.nio.channels.FileChannel java.io.OutputStream
      StackMap stack: java.lang.Throwable
       104: astore 16
            aload 20 /* idxStream */
            ifnull 105
            aload 20 /* idxStream */
            invokevirtual java.io.OutputStream.close:()V
        end local 20 // java.io.OutputStream idxStream
      StackMap locals:
      StackMap stack:
       105: aload 16
            athrow
      StackMap locals:
      StackMap stack:
       106: aload 19 /* idxChannel */
            ifnull 111
            aload 19 /* idxChannel */
            invokevirtual java.nio.channels.FileChannel.close:()V
            goto 111
      StackMap locals:
      StackMap stack: java.lang.Throwable
       107: astore 17
            aload 16
            ifnonnull 108
            aload 17
            astore 16
            goto 109
      StackMap locals:
      StackMap stack:
       108: aload 16
            aload 17
            if_acmpeq 109
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       109: aload 19 /* idxChannel */
            ifnull 110
            aload 19 /* idxChannel */
            invokevirtual java.nio.channels.FileChannel.close:()V
        end local 19 // java.nio.channels.FileChannel idxChannel
      StackMap locals:
      StackMap stack:
       110: aload 16
            athrow
      StackMap locals:
      StackMap stack:
       111: aload 18 /* fos */
            ifnull 119
            aload 18 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
            goto 119
      StackMap locals:
      StackMap stack: java.lang.Throwable
       112: astore 17
            aload 16
            ifnonnull 113
            aload 17
            astore 16
            goto 114
      StackMap locals:
      StackMap stack:
       113: aload 16
            aload 17
            if_acmpeq 114
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       114: aload 18 /* fos */
            ifnull 115
            aload 18 /* fos */
            invokevirtual java.io.FileOutputStream.close:()V
        end local 18 // java.io.FileOutputStream fos
      StackMap locals:
      StackMap stack:
       115: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       116: astore 17
            aload 16
            ifnonnull 117
            aload 17
            astore 16
            goto 118
      StackMap locals:
      StackMap stack:
       117: aload 16
            aload 17
            if_acmpeq 118
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       118: aload 16
            athrow
        end local 15 // java.io.File tmpBitmapIdx
       119: .line 1225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* id */
            ldc ".pack"
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 15 /* realPack */
        start local 15 // java.io.File realPack
       120: .line 1227
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            aload 15 /* realPack */
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.closeAllPackHandles:(Ljava/io/File;)V
       121: .line 1228
            aload 6 /* tmpPack */
            invokevirtual java.io.File.setReadOnly:()Z
            pop
       122: .line 1230
            aload 6 /* tmpPack */
            aload 15 /* realPack */
            iconst_1
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
            getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
            aastore
            invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;[Ljava/nio/file/CopyOption;)V
       123: .line 1231
            aload 7 /* tmpExts */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 17
            goto 151
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File top java.util.Iterator
      StackMap stack:
       124: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 16 /* tmpEntry */
        start local 16 // java.util.Map$Entry tmpEntry
       125: .line 1232
            aload 16 /* tmpEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.io.File
            astore 18 /* tmpExt */
        start local 18 // java.io.File tmpExt
       126: .line 1233
            aload 18 /* tmpExt */
            invokevirtual java.io.File.setReadOnly:()Z
            pop
       127: .line 1235
            aload 0 /* this */
            aload 11 /* id */
       128: .line 1236
            new java.lang.StringBuilder
            dup
            ldc "."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 16 /* tmpEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.pack.PackExt
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       129: .line 1235
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            astore 19 /* realExt */
        start local 19 // java.io.File realExt
       130: .line 1238
            aload 18 /* tmpExt */
            aload 19 /* realExt */
            iconst_1
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
       131: .line 1239
            getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
            aastore
       132: .line 1238
            invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;[Ljava/nio/file/CopyOption;)V
       133: .line 1240
            goto 151
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File java.util.Map$Entry java.util.Iterator java.io.File java.io.File
      StackMap stack: java.io.IOException
       134: astore 20 /* e */
        start local 20 // java.io.IOException e
       135: .line 1241
            new java.io.File
            dup
            aload 19 /* realExt */
            invokevirtual java.io.File.getParentFile:()Ljava/io/File;
       136: .line 1242
            new java.lang.StringBuilder
            dup
            aload 19 /* realExt */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".new"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       137: .line 1241
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 21 /* newExt */
        start local 21 // java.io.File newExt
       138: .line 1244
            aload 18 /* tmpExt */
            aload 21 /* newExt */
            iconst_1
            anewarray java.nio.file.CopyOption
            dup
            iconst_0
       139: .line 1245
            getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
            aastore
       140: .line 1244
            invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;[Ljava/nio/file/CopyOption;)V
       141: .line 1246
            goto 145
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File java.util.Map$Entry java.util.Iterator java.io.File java.io.File java.io.IOException java.io.File
      StackMap stack: java.io.IOException
       142: astore 22 /* e2 */
        start local 22 // java.io.IOException e2
       143: .line 1247
            aload 18 /* tmpExt */
            astore 21 /* newExt */
       144: .line 1248
            aload 22 /* e2 */
            astore 20 /* e */
        end local 22 // java.io.IOException e2
       145: .line 1250
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
       146: .line 1251
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.panicCantRenameIndexFile:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 21 /* newExt */
            aastore
            dup
            iconst_1
       147: .line 1252
            aload 19 /* realExt */
            aastore
       148: .line 1250
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
       149: .line 1252
            aload 20 /* e */
       150: .line 1250
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 21 // java.io.File newExt
        end local 20 // java.io.IOException e
        end local 19 // java.io.File realExt
        end local 18 // java.io.File tmpExt
        end local 16 // java.util.Map$Entry tmpEntry
       151: .line 1231
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File top java.util.Iterator
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 124
       152: .line 1255
            iconst_0
            istore 16 /* interrupted */
        start local 16 // boolean interrupted
       153: .line 1257
            aload 15 /* realPack */
            invokestatic org.eclipse.jgit.internal.storage.file.FileSnapshot.save:(Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
            astore 17 /* snapshot */
        start local 17 // org.eclipse.jgit.internal.storage.file.FileSnapshot snapshot
       154: .line 1258
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            aload 17 /* snapshot */
            invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.size:()J
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.doWaitPreventRacyPack:(J)Z
            ifeq 159
       155: .line 1259
            aload 17 /* snapshot */
            invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.waitUntilNotRacy:()V
        end local 17 // org.eclipse.jgit.internal.storage.file.FileSnapshot snapshot
       156: .line 1261
            goto 159
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int
      StackMap stack: java.lang.InterruptedException
       157: pop
       158: .line 1262
            iconst_1
            istore 16 /* interrupted */
       159: .line 1265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            aload 15 /* realPack */
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPack:(Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
            astore 18
       160: .line 1267
            iload 16 /* interrupted */
            ifeq 162
       161: .line 1269
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
       162: .line 1272
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int top org.eclipse.jgit.internal.storage.file.PackFile
      StackMap stack:
            aload 10 /* pw */
            ifnull 163
            aload 10 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
       163: .line 1273
      StackMap locals:
      StackMap stack:
            aload 6 /* tmpPack */
            ifnull 165
            aload 6 /* tmpPack */
            invokevirtual java.io.File.exists:()Z
            ifeq 165
       164: .line 1274
            aload 6 /* tmpPack */
            invokevirtual java.io.File.delete:()Z
            pop
       165: .line 1275
      StackMap locals:
      StackMap stack:
            aload 7 /* tmpExts */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 25
            goto 169
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int top org.eclipse.jgit.internal.storage.file.PackFile top top top top top top java.util.Iterator
      StackMap stack:
       166: aload 25
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 24 /* tmpExt */
        start local 24 // java.io.File tmpExt
       167: .line 1276
            aload 24 /* tmpExt */
            invokevirtual java.io.File.exists:()Z
            ifeq 169
       168: .line 1277
            aload 24 /* tmpExt */
            invokevirtual java.io.File.delete:()Z
            pop
        end local 24 // java.io.File tmpExt
       169: .line 1275
      StackMap locals:
      StackMap stack:
            aload 25
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 166
       170: .line 1265
            aload 18
            areturn
       171: .line 1266
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int
      StackMap stack: java.lang.Throwable
            astore 17
       172: .line 1267
            iload 16 /* interrupted */
            ifeq 174
       173: .line 1269
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
       174: .line 1271
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 17
            athrow
        end local 16 // boolean interrupted
        end local 15 // java.io.File realPack
        end local 14 // java.io.File tmpIdx
        end local 13 // java.lang.String tmpBase
        end local 12 // java.io.File packdir
        end local 11 // java.lang.String id
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
      StackMap stack: java.lang.Throwable
       175: astore 8
       176: .line 1272
            aload 10 /* pw */
            ifnull 177
            aload 10 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
        end local 10 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
      StackMap locals:
      StackMap stack:
       177: aload 8
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       178: astore 9
            aload 8
            ifnonnull 179
            aload 9
            astore 8
            goto 180
      StackMap locals:
      StackMap stack:
       179: aload 8
            aload 9
            if_acmpeq 180
            aload 8
            aload 9
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       180: aload 8
            athrow
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map
      StackMap stack: java.lang.Throwable
       181: astore 23
       182: .line 1273
            aload 6 /* tmpPack */
            ifnull 184
            aload 6 /* tmpPack */
            invokevirtual java.io.File.exists:()Z
            ifeq 184
       183: .line 1274
            aload 6 /* tmpPack */
            invokevirtual java.io.File.delete:()Z
            pop
       184: .line 1275
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 7 /* tmpExts */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 25
            goto 188
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map top top top top top top top top top top top top top top top java.lang.Throwable top java.util.Iterator
      StackMap stack:
       185: aload 25
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.io.File
            astore 24 /* tmpExt */
        start local 24 // java.io.File tmpExt
       186: .line 1276
            aload 24 /* tmpExt */
            invokevirtual java.io.File.exists:()Z
            ifeq 188
       187: .line 1277
            aload 24 /* tmpExt */
            invokevirtual java.io.File.delete:()Z
            pop
        end local 24 // java.io.File tmpExt
       188: .line 1275
      StackMap locals:
      StackMap stack:
            aload 25
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 185
       189: .line 1279
            aload 23
            athrow
        end local 7 // java.util.Map tmpExts
        end local 6 // java.io.File tmpPack
        end local 5 // java.util.List excludeObjects
        end local 4 // java.util.Set tagTargets
        end local 3 // java.util.Set tags
        end local 2 // java.util.Set have
        end local 1 // java.util.Set want
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  190     0            this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0  190     1            want  Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;
            0  190     2            have  Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;
            0  190     3            tags  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            0  190     4      tagTargets  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
            0  190     5  excludeObjects  Ljava/util/List<Lorg/eclipse/jgit/lib/ObjectIdSet;>;
            2  190     6         tmpPack  Ljava/io/File;
            3  190     7         tmpExts  Ljava/util/Map<Lorg/eclipse/jgit/internal/storage/pack/PackExt;Ljava/io/File;>;
            8  177    10              pw  Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
           15   16    11             idx  Lorg/eclipse/jgit/lib/ObjectIdSet;
           30  175    11              id  Ljava/lang/String;
           31  175    12         packdir  Ljava/io/File;
           36  175    13         tmpBase  Ljava/lang/String;
           37  175    14          tmpIdx  Ljava/io/File;
           44   61    17             fos  Ljava/io/FileOutputStream;
           45   56    18         channel  Ljava/nio/channels/FileChannel;
           47   51    19   channelStream  Ljava/io/OutputStream;
           67   84    17             fos  Ljava/io/FileOutputStream;
           68   79    18      idxChannel  Ljava/nio/channels/FileChannel;
           70   74    19       idxStream  Ljava/io/OutputStream;
           90  119    15    tmpBitmapIdx  Ljava/io/File;
           98  115    18             fos  Ljava/io/FileOutputStream;
           99  110    19      idxChannel  Ljava/nio/channels/FileChannel;
          101  105    20       idxStream  Ljava/io/OutputStream;
          120  175    15        realPack  Ljava/io/File;
          125  151    16        tmpEntry  Ljava/util/Map$Entry<Lorg/eclipse/jgit/internal/storage/pack/PackExt;Ljava/io/File;>;
          126  151    18          tmpExt  Ljava/io/File;
          130  151    19         realExt  Ljava/io/File;
          135  151    20               e  Ljava/io/IOException;
          138  151    21          newExt  Ljava/io/File;
          143  145    22              e2  Ljava/io/IOException;
          153  175    16     interrupted  Z
          154  156    17        snapshot  Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
           24   26    24          tmpExt  Ljava/io/File;
          167  169    24          tmpExt  Ljava/io/File;
          186  188    24          tmpExt  Ljava/io/File;
      Exception table:
        from    to  target  type
          47    49      50  any
          45    52      53  any
          44    57      58  any
          43    62      62  any
          70    72      73  any
          68    75      76  any
          67    80      81  any
          66    85      85  any
         101   103     104  any
          99   106     107  any
          98   111     112  any
          97   116     116  any
         130   133     134  Class java.io.IOException
         138   141     142  Class java.io.IOException
         153   156     157  Class java.lang.InterruptedException
         159   160     171  any
           8    19     175  any
          28   162     175  any
         171   175     175  any
           4    20     178  any
          28   163     178  any
         171   178     178  any
           3    20     181  any
          28   163     181  any
         171   181     181  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/List<Lorg/eclipse/jgit/lib/ObjectIdSet;>;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
    RuntimeInvisibleParameterAnnotations: 
      0:
        org.eclipse.jgit.annotations.NonNull()
      1:
        org.eclipse.jgit.annotations.NonNull()
      2:
        org.eclipse.jgit.annotations.NonNull()
      3:
      4:
    MethodParameters:
                Name  Flags
      want            
      have            
      tags            
      tagTargets      
      excludeObjects  

  private java.io.File nameFor(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String ext
         0: .line 1283
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
            astore 3 /* packdir */
        start local 3 // java.io.File packdir
         1: .line 1284
            new java.io.File
            dup
            aload 3 /* packdir */
            new java.lang.StringBuilder
            dup
            ldc "pack-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* ext */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            areturn
        end local 3 // java.io.File packdir
        end local 2 // java.lang.String ext
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    2     1     name  Ljava/lang/String;
            0    2     2      ext  Ljava/lang/String;
            1    2     3  packdir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      name  
      ext   

  private void checkCancelled();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1288
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.isCancelled:()Z
            ifne 1
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 2
         1: .line 1289
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.errors.CancelledException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.operationCanceled:Ljava/lang/String;
            invokespecial org.eclipse.jgit.errors.CancelledException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 1291
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
    Exceptions:
      throws org.eclipse.jgit.errors.CancelledException

  public org.eclipse.jgit.internal.storage.file.GC$RepoStatistics getStatistics();
    descriptor: ()Lorg/eclipse/jgit/internal/storage/file/GC$RepoStatistics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1362
            new org.eclipse.jgit.internal.storage.file.GC$RepoStatistics
            dup
            invokespecial org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.<init>:()V
            astore 1 /* ret */
        start local 1 // org.eclipse.jgit.internal.storage.file.GC$RepoStatistics ret
         1: .line 1363
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
            astore 2 /* packs */
        start local 2 // java.util.Collection packs
         2: .line 1364
            aload 2 /* packs */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackFile
            astore 3 /* f */
        start local 3 // org.eclipse.jgit.internal.storage.file.PackFile f
         4: .line 1365
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedObjects:J
            aload 3 /* f */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getIndex:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.getObjectCount:()J
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedObjects:J
         5: .line 1366
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackFiles:J
            lconst_1
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackFiles:J
         6: .line 1367
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfPackedObjects:J
            aload 3 /* f */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
            invokevirtual java.io.File.length:()J
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfPackedObjects:J
         7: .line 1368
            aload 3 /* f */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getBitmapIndex:()Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
            ifnull 9
         8: .line 1369
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfBitmaps:J
            aload 3 /* f */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getBitmapIndex:()Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
            invokevirtual org.eclipse.jgit.internal.storage.file.PackBitmapIndex.getBitmapCount:()I
            i2l
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfBitmaps:J
        end local 3 // org.eclipse.jgit.internal.storage.file.PackFile f
         9: .line 1364
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 1371
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
            astore 3 /* objDir */
        start local 3 // java.io.File objDir
        11: .line 1372
            aload 3 /* objDir */
            invokevirtual java.io.File.list:()[Ljava/lang/String;
            astore 4 /* fanout */
        start local 4 // java.lang.String[] fanout
        12: .line 1373
            aload 4 /* fanout */
            ifnull 30
            aload 4 /* fanout */
            arraylength
            ifle 30
        13: .line 1374
            aload 4 /* fanout */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 29
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        14: aload 8
            iload 6
            aaload
            astore 5 /* d */
        start local 5 // java.lang.String d
        15: .line 1375
            aload 5 /* d */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpeq 17
        16: .line 1376
            goto 28
        17: .line 1377
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.io.File
            dup
            aload 3 /* objDir */
            aload 5 /* d */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 9 /* entries */
        start local 9 // java.io.File[] entries
        18: .line 1378
            aload 9 /* entries */
            ifnonnull 20
        19: .line 1379
            goto 28
        20: .line 1380
      StackMap locals: java.io.File[]
      StackMap stack:
            aload 9 /* entries */
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 27
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File[] top int int java.io.File[]
      StackMap stack:
        21: aload 13
            iload 11
            aaload
            astore 10 /* f */
        start local 10 // java.io.File f
        22: .line 1381
            aload 10 /* f */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            bipush 38
            if_icmpeq 24
        23: .line 1382
            goto 26
        24: .line 1383
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File[] java.io.File int int java.io.File[]
      StackMap stack:
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseObjects:J
            lconst_1
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseObjects:J
        25: .line 1384
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfLooseObjects:J
            aload 10 /* f */
            invokevirtual java.io.File.length:()J
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfLooseObjects:J
        end local 10 // java.io.File f
        26: .line 1380
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File[] top int int java.io.File[]
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        27: iload 11
            iload 12
            if_icmplt 21
        end local 9 // java.io.File[] entries
        end local 5 // java.lang.String d
        28: .line 1374
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        29: iload 6
            iload 7
            if_icmplt 14
        30: .line 1389
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            astore 5 /* refDb */
        start local 5 // org.eclipse.jgit.lib.RefDatabase refDb
        31: .line 1390
            aload 5 /* refDb */
            invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefs:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 38
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
      StackMap stack:
        32: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 6 /* r */
        start local 6 // org.eclipse.jgit.lib.Ref r
        33: .line 1391
            aload 6 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getStorage:()Lorg/eclipse/jgit/lib/Ref$Storage;
            astore 8 /* storage */
        start local 8 // org.eclipse.jgit.lib.Ref$Storage storage
        34: .line 1392
            aload 8 /* storage */
            getstatic org.eclipse.jgit.lib.Ref$Storage.LOOSE:Lorg/eclipse/jgit/lib/Ref$Storage;
            if_acmpeq 35
            aload 8 /* storage */
            getstatic org.eclipse.jgit.lib.Ref$Storage.LOOSE_PACKED:Lorg/eclipse/jgit/lib/Ref$Storage;
            if_acmpne 36
        35: .line 1393
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] org.eclipse.jgit.lib.RefDatabase org.eclipse.jgit.lib.Ref java.util.Iterator org.eclipse.jgit.lib.Ref$Storage
      StackMap stack:
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseRefs:J
            lconst_1
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseRefs:J
        36: .line 1394
      StackMap locals:
      StackMap stack:
            aload 8 /* storage */
            getstatic org.eclipse.jgit.lib.Ref$Storage.PACKED:Lorg/eclipse/jgit/lib/Ref$Storage;
            if_acmpeq 37
            aload 8 /* storage */
            getstatic org.eclipse.jgit.lib.Ref$Storage.LOOSE_PACKED:Lorg/eclipse/jgit/lib/Ref$Storage;
            if_acmpne 38
        37: .line 1395
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            dup
            getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedRefs:J
            lconst_1
            ladd
            putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedRefs:J
        end local 8 // org.eclipse.jgit.lib.Ref$Storage storage
        end local 6 // org.eclipse.jgit.lib.Ref r
        38: .line 1390
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        39: .line 1398
            aload 1 /* ret */
            areturn
        end local 5 // org.eclipse.jgit.lib.RefDatabase refDb
        end local 4 // java.lang.String[] fanout
        end local 3 // java.io.File objDir
        end local 2 // java.util.Collection packs
        end local 1 // org.eclipse.jgit.internal.storage.file.GC$RepoStatistics ret
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   40     0     this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   40     1      ret  Lorg/eclipse/jgit/internal/storage/file/GC$RepoStatistics;
            2   40     2    packs  Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
            4    9     3        f  Lorg/eclipse/jgit/internal/storage/file/PackFile;
           11   40     3   objDir  Ljava/io/File;
           12   40     4   fanout  [Ljava/lang/String;
           15   28     5        d  Ljava/lang/String;
           18   28     9  entries  [Ljava/io/File;
           22   26    10        f  Ljava/io/File;
           31   40     5    refDb  Lorg/eclipse/jgit/lib/RefDatabase;
           33   38     6        r  Lorg/eclipse/jgit/lib/Ref;
           34   38     8  storage  Lorg/eclipse/jgit/lib/Ref$Storage;
    Exceptions:
      throws java.io.IOException

  public org.eclipse.jgit.internal.storage.file.GC setProgressMonitor(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/internal/storage/file/GC;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
         0: .line 1408
            aload 0 /* this */
            aload 1 /* pm */
            ifnonnull 1
            getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
            goto 2
      StackMap locals:
      StackMap stack: org.eclipse.jgit.internal.storage.file.GC
         1: aload 1 /* pm */
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.ProgressMonitor
      StackMap stack: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.ProgressMonitor
         2: putfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
         3: .line 1409
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    4     1    pm  Lorg/eclipse/jgit/lib/ProgressMonitor;
    MethodParameters:
      Name  Flags
      pm    

  public void setExpireAgeMillis(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // long expireAgeMillis
         0: .line 1422
            aload 0 /* this */
            lload 1 /* expireAgeMillis */
            putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
         1: .line 1423
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
         2: .line 1424
            return
        end local 1 // long expireAgeMillis
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    3     1  expireAgeMillis  J
    MethodParameters:
                 Name  Flags
      expireAgeMillis  

  public void setPackExpireAgeMillis(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // long packExpireAgeMillis
         0: .line 1436
            aload 0 /* this */
            lload 1 /* packExpireAgeMillis */
            putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
         1: .line 1437
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
         2: .line 1438
            return
        end local 1 // long packExpireAgeMillis
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    3     1  packExpireAgeMillis  J
    MethodParameters:
                     Name  Flags
      packExpireAgeMillis  

  public void setPackConfig(org.eclipse.jgit.storage.pack.PackConfig);
    descriptor: (Lorg/eclipse/jgit/storage/pack/PackConfig;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // org.eclipse.jgit.storage.pack.PackConfig pconfig
         0: .line 1450
            aload 0 /* this */
            aload 1 /* pconfig */
            putfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
         1: .line 1451
            return
        end local 1 // org.eclipse.jgit.storage.pack.PackConfig pconfig
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    2     1  pconfig  Lorg/eclipse/jgit/storage/pack/PackConfig;
    RuntimeInvisibleParameterAnnotations: 
      0:
        org.eclipse.jgit.annotations.NonNull()
    MethodParameters:
         Name  Flags
      pconfig  

  public void setExpire(java.util.Date);
    descriptor: (Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.util.Date expire
         0: .line 1466
            aload 0 /* this */
            aload 1 /* expire */
            putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
         1: .line 1467
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
         2: .line 1468
            return
        end local 1 // java.util.Date expire
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    3     1  expire  Ljava/util/Date;
    MethodParameters:
        Name  Flags
      expire  

  public void setPackExpire(java.util.Date);
    descriptor: (Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // java.util.Date packExpire
         0: .line 1480
            aload 0 /* this */
            aload 1 /* packExpire */
            putfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
         1: .line 1481
            aload 0 /* this */
            ldc -1
            putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
         2: .line 1482
            return
        end local 1 // java.util.Date packExpire
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    3     1  packExpire  Ljava/util/Date;
    MethodParameters:
            Name  Flags
      packExpire  

  public void setAuto(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // boolean auto
         0: .line 1520
            aload 0 /* this */
            iload 1 /* auto */
            putfield org.eclipse.jgit.internal.storage.file.GC.automatic:Z
         1: .line 1521
            return
        end local 1 // boolean auto
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    2     1  auto  Z
    MethodParameters:
      Name  Flags
      auto  

  void setBackground(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 1 // boolean background
         0: .line 1528
            aload 0 /* this */
            iload 1 /* background */
            putfield org.eclipse.jgit.internal.storage.file.GC.background:Z
         1: .line 1529
            return
        end local 1 // boolean background
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    2     1  background  Z
    MethodParameters:
            Name  Flags
      background  

  private boolean needGc();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1532
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.tooManyPacks:()Z
            ifeq 3
         1: .line 1533
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.addRepackAllOption:()V
         2: .line 1534
            goto 4
         3: .line 1535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.tooManyLooseObjects:()Z
            ireturn
         4: .line 1538
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;

  private void addRepackAllOption();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1544
            return
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;

  boolean tooManyPacks();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1550
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
         1: .line 1551
            ldc "gc"
         2: .line 1552
            ldc "autopacklimit"
         3: .line 1553
            bipush 50
         4: .line 1550
            invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getInt:(Ljava/lang/String;Ljava/lang/String;I)I
            istore 1 /* autopacklimit */
        start local 1 // int autopacklimit
         5: .line 1554
            iload 1 /* autopacklimit */
            ifgt 7
         6: .line 1555
            iconst_0
            ireturn
         7: .line 1559
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
            invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            iload 1 /* autopacklimit */
            iconst_1
            iadd
            if_icmple 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 1 // int autopacklimit
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/eclipse/jgit/internal/storage/file/GC;
            5    9     1  autopacklimit  I

  boolean tooManyLooseObjects();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1569
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.getLooseObjectLimit:()I
            istore 1 /* auto */
        start local 1 // int auto
         1: .line 1570
            iload 1 /* auto */
            ifgt 3
         2: .line 1571
            iconst_0
            ireturn
         3: .line 1573
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* n */
        start local 2 // int n
         4: .line 1574
            iload 1 /* auto */
            sipush 255
            iadd
            sipush 256
            idiv
            istore 3 /* threshold */
        start local 3 // int threshold
         5: .line 1575
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            ldc "17"
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 4 /* dir */
        start local 4 // java.nio.file.Path dir
         6: .line 1576
            aload 4 /* dir */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifne 8
         7: .line 1577
            iconst_0
            ireturn
         8: .line 1579
      StackMap locals: int int java.nio.file.Path
      StackMap stack:
            aconst_null
            astore 5
            aconst_null
            astore 6
         9: aload 4 /* dir */
            invokedynamic accept()Ljava/nio/file/DirectoryStream$Filter;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jgit/internal/storage/file/GC.lambda$10(Ljava/nio/file/Path;)Z (6)
                  (Ljava/nio/file/Path;)Z
            invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
            astore 7 /* stream */
        start local 7 // java.nio.file.DirectoryStream stream
        10: .line 1585
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
            astore 8 /* iter */
        start local 8 // java.util.Iterator iter
        11: goto 17
        12: .line 1587
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC int int int java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.Iterator
      StackMap stack:
            iinc 2 /* n */ 1
            iload 2 /* n */
            iload 3 /* threshold */
            if_icmple 15
        13: .line 1591
            aload 7 /* stream */
            ifnull 14
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        14: .line 1588
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        15: .line 1585
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
        16: .line 1586
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            pop
        17: .line 1585
      StackMap locals:
      StackMap stack:
            aload 8 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 8 // java.util.Iterator iter
        18: .line 1591
            aload 7 /* stream */
            ifnull 26
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
            goto 26
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC int int int java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
      StackMap stack: java.lang.Throwable
        19: astore 5
            aload 7 /* stream */
            ifnull 20
            aload 7 /* stream */
            invokeinterface java.nio.file.DirectoryStream.close:()V
        end local 7 // java.nio.file.DirectoryStream stream
      StackMap locals:
      StackMap stack:
        20: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 6
            aload 5
            ifnonnull 22
            aload 6
            astore 5
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 5
            aload 6
            if_acmpeq 23
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 5
            athrow
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC int int int java.nio.file.Path
      StackMap stack: java.io.IOException
        24: astore 5 /* e */
        start local 5 // java.io.IOException e
        25: .line 1592
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            aload 5 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // java.io.IOException e
        26: .line 1594
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.nio.file.Path dir
        end local 3 // int threshold
        end local 2 // int n
        end local 1 // int auto
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1   27     1       auto  I
            4   27     2          n  I
            5   27     3  threshold  I
            6   27     4        dir  Ljava/nio/file/Path;
           10   20     7     stream  Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
           11   18     8       iter  Ljava/util/Iterator<Ljava/nio/file/Path;>;
           25   26     5          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          10    13      19  any
          15    18      19  any
           9    14      21  any
          15    21      21  any
           8    14      24  Class java.io.IOException
          15    24      24  Class java.io.IOException

  private int getLooseObjectLimit();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 1598
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
            invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
            ldc "gc"
         1: .line 1599
            ldc "auto"
            sipush 6700
         2: .line 1598
            invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getInt:(Ljava/lang/String;Ljava/lang/String;I)I
            ireturn
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;

  private java.util.Collection lambda$0(org.eclipse.jgit.internal.storage.file.GcLog);
    descriptor: (Lorg/eclipse/jgit/internal/storage/file/GcLog;)Ljava/util/Collection;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
         0: .line 230
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.doGc:()Ljava/util/Collection;
            astore 2 /* newPacks */
        start local 2 // java.util.Collection newPacks
         1: .line 231
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.file.GC.automatic:Z
            ifeq 5
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.tooManyLooseObjects:()Z
            ifeq 5
         2: .line 232
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.gcTooManyUnpruned:Ljava/lang/String;
            astore 3 /* message */
        start local 3 // java.lang.String message
         3: .line 233
            aload 1
            aload 3 /* message */
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.write:(Ljava/lang/String;)V
         4: .line 234
            aload 1
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.commit:()Z
            pop
        end local 3 // java.lang.String message
         5: .line 236
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 2 /* newPacks */
            astore 5
         6: .line 249
            aload 1
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.unlock:()V
         7: .line 236
            aload 5
            areturn
        end local 2 // java.util.Collection newPacks
         8: .line 237
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GcLog
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         9: .line 239
            aload 1
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.write:(Ljava/lang/String;)V
        10: .line 240
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 3 /* sw */
        start local 3 // java.io.StringWriter sw
        11: .line 241
            aload 2 /* e */
            new java.io.PrintWriter
            dup
            aload 3 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
        12: .line 242
            aload 1
            aload 3 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.write:(Ljava/lang/String;)V
        13: .line 243
            aload 1
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.commit:()Z
            pop
        end local 3 // java.io.StringWriter sw
        14: .line 244
            goto 18
      StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GcLog java.lang.Exception
      StackMap stack: java.io.IOException
        15: astore 3 /* e2 */
        start local 3 // java.io.IOException e2
        16: .line 245
            aload 3 /* e2 */
            aload 2 /* e */
            invokevirtual java.io.IOException.addSuppressed:(Ljava/lang/Throwable;)V
        17: .line 246
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            aload 3 /* e2 */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 3 /* e2 */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.io.IOException e2
        end local 2 // java.lang.Exception e
        18: .line 249
      StackMap locals:
      StackMap stack:
            aload 1
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.unlock:()V
            goto 22
        19: .line 248
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        20: .line 249
            aload 1
            invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.unlock:()V
        21: .line 250
            aload 4
            athrow
        22: .line 251
      StackMap locals:
      StackMap stack:
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lorg/eclipse/jgit/internal/storage/file/GC;
            1    8     2  newPacks  Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
            3    5     3   message  Ljava/lang/String;
            9   18     2         e  Ljava/lang/Exception;
           11   14     3        sw  Ljava/io/StringWriter;
           16   18     3        e2  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     6       8  Class java.io.IOException
           0     6       8  Class java.text.ParseException
           9    14      15  Class java.io.IOException
           0     6      19  any
           8    18      19  any
    Exceptions:
      throws java.lang.Exception

  private static boolean lambda$11(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.file.Path  arg0
         0: aload 0 /*  arg0 */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ireturn
        end local 0 // java.nio.file.Path  arg0
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   arg0  Ljava/nio/file/Path;

  private boolean lambda$2(java.time.Instant, java.nio.file.Path);
    descriptor: (Ljava/time/Instant;Ljava/nio/file/Path;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.file.GC this
        start local 2 // java.nio.file.Path path
         0: .line 910
            aload 0 /* this */
            aload 2 /* path */
            aload 1
            invokevirtual org.eclipse.jgit.internal.storage.file.GC.canBeSafelyDeleted:(Ljava/nio/file/Path;Ljava/time/Instant;)Z
            ireturn
        end local 2 // java.nio.file.Path path
        end local 0 // org.eclipse.jgit.internal.storage.file.GC this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/file/GC;
            0    1     2  path  Ljava/nio/file/Path;

  private static java.lang.String lambda$6(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.file.Path path
         0: .line 963
            aload 0 /* path */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.nio.file.Path path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/nio/file/Path;

  private static boolean lambda$7(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 964
            aload 0 /* name */
            getstatic org.eclipse.jgit.internal.storage.file.GC.PACK_EXT:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
         1: .line 965
            aload 0 /* name */
            getstatic org.eclipse.jgit.internal.storage.file.GC.BITMAP_EXT:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
         2: .line 966
            aload 0 /* name */
            getstatic org.eclipse.jgit.internal.storage.file.GC.INDEX_EXT:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 967
            aload 0 /* name */
            getstatic org.eclipse.jgit.internal.storage.file.GC.KEEP_EXT:Ljava/lang/String;
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: ireturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/String;

  private static void lambda$8(java.time.Instant, java.nio.file.Path);
    descriptor: (Ljava/time/Instant;Ljava/nio/file/Path;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 1 // java.nio.file.Path t
         0: .line 1009
            aload 1 /* t */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.getLastModifiedTime:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
         1: .line 1010
            invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
         2: .line 1009
            astore 2 /* lastModified */
        start local 2 // java.time.Instant lastModified
         3: .line 1011
            aload 2 /* lastModified */
            aload 0
            invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
            ifeq 8
         4: .line 1012
            aload 1 /* t */
            invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
            pop
        end local 2 // java.time.Instant lastModified
         5: .line 1014
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 2 /* e */
        start local 2 // java.io.IOException e
         7: .line 1015
            getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 2 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException e
         8: .line 1017
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.file.Path t
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     1             t  Ljava/nio/file/Path;
            3    5     2  lastModified  Ljava/time/Instant;
            7    8     2             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.io.IOException

  private static int lambda$9(org.eclipse.jgit.internal.storage.pack.PackExt, org.eclipse.jgit.internal.storage.pack.PackExt);
    descriptor: (Lorg/eclipse/jgit/internal/storage/pack/PackExt;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.pack.PackExt o1
        start local 1 // org.eclipse.jgit.internal.storage.pack.PackExt o2
         0: .line 1146
            aload 0 /* o1 */
            aload 1 /* o2 */
            if_acmpne 2
         1: .line 1147
            iconst_0
            ireturn
         2: .line 1149
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            if_acmpne 4
         3: .line 1150
            iconst_1
            ireturn
         4: .line 1152
      StackMap locals:
      StackMap stack:
            aload 1 /* o2 */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            if_acmpne 6
         5: .line 1153
            iconst_m1
            ireturn
         6: .line 1155
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            invokevirtual java.lang.Object.hashCode:()I
            aload 1 /* o2 */
            invokevirtual java.lang.Object.hashCode:()I
            isub
            invokestatic java.lang.Integer.signum:(I)I
            ireturn
        end local 1 // org.eclipse.jgit.internal.storage.pack.PackExt o2
        end local 0 // org.eclipse.jgit.internal.storage.pack.PackExt o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    o1  Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            0    7     1    o2  Lorg/eclipse/jgit/internal/storage/pack/PackExt;

  private static boolean lambda$10(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.file.Path file
         0: .line 1580
            aload 0 /* file */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            astore 1 /* fileName */
        start local 1 // java.nio.file.Path fileName
         1: .line 1581
            aload 0 /* file */
            invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isFile:()Z
            ifeq 5
            aload 1 /* fileName */
            ifnull 5
         2: .line 1582
            getstatic org.eclipse.jgit.internal.storage.file.GC.PATTERN_LOOSE_OBJECT:Ljava/util/regex/Pattern;
            aload 1 /* fileName */
            invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
         3: .line 1583
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 5
         4: .line 1581
            iconst_1
            ireturn
      StackMap locals: java.nio.file.Path
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // java.nio.file.Path fileName
        end local 0 // java.nio.file.Path file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      file  Ljava/nio/file/Path;
            1    6     1  fileName  Ljava/nio/file/Path;
    Exceptions:
      throws java.io.IOException
}
SourceFile: "GC.java"
NestMembers:
  org.eclipse.jgit.internal.storage.file.GC$RepoStatistics
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public RepoStatistics = org.eclipse.jgit.internal.storage.file.GC$RepoStatistics of org.eclipse.jgit.internal.storage.file.GC
  public MutableEntry = org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry of org.eclipse.jgit.internal.storage.file.PackIndex
  public final Storage = org.eclipse.jgit.lib.Ref$Storage of org.eclipse.jgit.lib.Ref