public class org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector
  super_class: java.lang.Object
{
  private final org.eclipse.jgit.internal.storage.dfs.DfsRepository repo;
    descriptor: Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jgit.lib.RefDatabase refdb;
    descriptor: Lorg/eclipse/jgit/lib/RefDatabase;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase objdb;
    descriptor: Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.eclipse.jgit.internal.storage.dfs.DfsPackDescription> newPackDesc;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;>;

  private final java.util.List<org.eclipse.jgit.storage.pack.PackStatistics> newPackStats;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/eclipse/jgit/storage/pack/PackStatistics;>;

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

  private org.eclipse.jgit.internal.storage.dfs.DfsReader ctx;
    descriptor: Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
    flags: (0x0002) ACC_PRIVATE

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

  private org.eclipse.jgit.internal.storage.reftable.ReftableConfig reftableConfig;
    descriptor: Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

  private java.util.List<org.eclipse.jgit.internal.storage.dfs.DfsPackFile> packsBefore;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;>;

  private java.util.List<org.eclipse.jgit.internal.storage.dfs.DfsReftable> reftablesBefore;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/eclipse/jgit/internal/storage/dfs/DfsReftable;>;

  private java.util.List<org.eclipse.jgit.internal.storage.dfs.DfsPackFile> expiredGarbagePacks;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;>;

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

  private java.util.Set<org.eclipse.jgit.lib.ObjectId> allHeadsAndTags;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;

  private java.util.Set<org.eclipse.jgit.lib.ObjectId> allTags;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;

  private java.util.Set<org.eclipse.jgit.lib.ObjectId> nonHeads;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;

  private java.util.Set<org.eclipse.jgit.lib.ObjectId> txnHeads;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;

  private java.util.Set<org.eclipse.jgit.lib.ObjectId> tagTargets;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;

  public void <init>(org.eclipse.jgit.internal.storage.dfs.DfsRepository);
    descriptor: (Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsRepository repository
         0: .line 107
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.convertToReftable:Z
         2: .line 81
            aload 0 /* this */
            lconst_1
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableInitialMinUpdateIndex:J
         3: .line 82
            aload 0 /* this */
            lconst_1
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableInitialMaxUpdateIndex:J
         4: .line 86
            aload 0 /* this */
            ldc 52428800
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.coalesceGarbageLimit:J
         5: .line 87
            aload 0 /* this */
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            lconst_1
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
         6: .line 108
            aload 0 /* this */
            aload 1 /* repository */
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.repo:Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;
         7: .line 109
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.repo:Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refdb:Lorg/eclipse/jgit/lib/RefDatabase;
         8: .line 110
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.repo:Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
         9: .line 111
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackDesc:Ljava/util/List;
        10: .line 112
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackStats:Ljava/util/List;
        11: .line 113
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackObj:Ljava/util/List;
        12: .line 115
            aload 0 /* this */
            new org.eclipse.jgit.storage.pack.PackConfig
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.repo:Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;
            invokespecial org.eclipse.jgit.storage.pack.PackConfig.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
        13: .line 116
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            iconst_2
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.setIndexVersion:(I)V
        14: .line 117
            return
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsRepository repository
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   15     1  repository  Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;
    MethodParameters:
            Name  Flags
      repository  

  public org.eclipse.jgit.storage.pack.PackConfig getPackConfig();
    descriptor: ()Lorg/eclipse/jgit/storage/pack/PackConfig;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 125
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setPackConfig(org.eclipse.jgit.storage.pack.PackConfig);
    descriptor: (Lorg/eclipse/jgit/storage/pack/PackConfig;)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.storage.pack.PackConfig newConfig
         0: .line 136
            aload 0 /* this */
            aload 1 /* newConfig */
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
         1: .line 137
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jgit.storage.pack.PackConfig newConfig
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1  newConfig  Lorg/eclipse/jgit/storage/pack/PackConfig;
    MethodParameters:
           Name  Flags
      newConfig  

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setReftableConfig(org.eclipse.jgit.internal.storage.reftable.ReftableConfig);
    descriptor: (Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.reftable.ReftableConfig cfg
         0: .line 149
            aload 0 /* this */
            aload 1 /* cfg */
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableConfig:Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
         1: .line 150
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jgit.internal.storage.reftable.ReftableConfig cfg
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1   cfg  Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
    MethodParameters:
      Name  Flags
      cfg   

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setConvertToReftable(boolean);
    descriptor: (Z)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // boolean convert
         0: .line 165
            aload 0 /* this */
            iload 1 /* convert */
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.convertToReftable:Z
         1: .line 166
            aload 0 /* this */
            areturn
        end local 1 // boolean convert
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1  convert  Z
    MethodParameters:
         Name  Flags
      convert  

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setIncludeDeletes(boolean);
    descriptor: (Z)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // boolean include
         0: .line 180
            aload 0 /* this */
            iload 1 /* include */
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.includeDeletes:Z
         1: .line 181
            aload 0 /* this */
            areturn
        end local 1 // boolean include
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1  include  Z
    MethodParameters:
         Name  Flags
      include  

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setReftableInitialMinUpdateIndex(long);
    descriptor: (J)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // long u
         0: .line 196
            aload 0 /* this */
            lload 1 /* u */
            lconst_0
            invokestatic java.lang.Math.max:(JJ)J
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableInitialMinUpdateIndex:J
         1: .line 197
            aload 0 /* this */
            areturn
        end local 1 // long u
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1     u  J
    MethodParameters:
      Name  Flags
      u     

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setReftableInitialMaxUpdateIndex(long);
    descriptor: (J)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // long u
         0: .line 212
            aload 0 /* this */
            lconst_0
            lload 1 /* u */
            invokestatic java.lang.Math.max:(JJ)J
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableInitialMaxUpdateIndex:J
         1: .line 213
            aload 0 /* this */
            areturn
        end local 1 // long u
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1     u  J
    MethodParameters:
      Name  Flags
      u     

  public long getCoalesceGarbageLimit();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 223
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.coalesceGarbageLimit:J
            lreturn
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setCoalesceGarbageLimit(long);
    descriptor: (J)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // long limit
         0: .line 250
            aload 0 /* this */
            lload 1 /* limit */
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.coalesceGarbageLimit:J
         1: .line 251
            aload 0 /* this */
            areturn
        end local 1 // long limit
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1  limit  J
    MethodParameters:
       Name  Flags
      limit  

  public long getGarbageTtlMillis();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 262
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
            lreturn
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;

  public org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector setGarbageTtl(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // long ttl
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 280
            aload 0 /* this */
            aload 3 /* unit */
            lload 1 /* ttl */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
         1: .line 281
            aload 0 /* this */
            areturn
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long ttl
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    2     1   ttl  J
            0    2     3  unit  Ljava/util/concurrent/TimeUnit;
    MethodParameters:
      Name  Flags
      ttl   
      unit  

  public boolean pack(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
         0: .line 301
            aload 1 /* pm */
            ifnonnull 2
         1: .line 302
            getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
            astore 1 /* pm */
         2: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.getIndexVersion:()I
            iconst_2
            if_icmpeq 6
         3: .line 304
            new java.lang.IllegalStateException
            dup
         4: .line 305
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.supportOnlyPackIndexVersion2:Ljava/lang/String;
         5: .line 304
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
            invokevirtual org.eclipse.jgit.util.SystemReader.getCurrentTime:()J
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.startTimeMillis:J
         7: .line 308
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.newReader:()Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
         8: .line 310
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refdb:Lorg/eclipse/jgit/lib/RefDatabase;
            invokevirtual org.eclipse.jgit.lib.RefDatabase.refresh:()V
         9: .line 311
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.clearCache:()V
        10: .line 313
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.getAllRefs:()Ljava/util/Collection;
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refsBefore:Ljava/util/Collection;
        11: .line 314
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.readPacksBefore:()V
        12: .line 315
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.readReftablesBefore:()V
        13: .line 317
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* allHeads */
        start local 2 // java.util.Set allHeads
        14: .line 318
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
        15: .line 319
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allTags:Ljava/util/Set;
        16: .line 320
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.nonHeads:Ljava/util/Set;
        17: .line 321
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.txnHeads:Ljava/util/Set;
        18: .line 322
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.tagTargets:Ljava/util/Set;
        19: .line 323
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refsBefore:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 35
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.util.Set top java.util.Iterator
      StackMap stack:
        20: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 3 /* ref */
        start local 3 // org.eclipse.jgit.lib.Ref ref
        21: .line 324
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
            ifne 35
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            ifnonnull 23
        22: .line 325
            goto 35
        23: .line 327
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.util.Set org.eclipse.jgit.lib.Ref java.util.Iterator
      StackMap stack:
            aload 3 /* ref */
            invokestatic org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.isHead:(Lorg/eclipse/jgit/lib/Ref;)Z
            ifeq 26
        24: .line 328
            aload 2 /* allHeads */
            aload 3 /* 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 329
            goto 33
      StackMap locals:
      StackMap stack:
        26: aload 3 /* ref */
            invokestatic org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.isTag:(Lorg/eclipse/jgit/lib/Ref;)Z
            ifeq 29
        27: .line 330
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allTags:Ljava/util/Set;
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        28: .line 331
            goto 33
      StackMap locals:
      StackMap stack:
        29: aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refdb:Lorg/eclipse/jgit/lib/RefDatabase;
            aload 3 /* 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 32
        30: .line 332
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.txnHeads:Ljava/util/Set;
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        31: .line 333
            goto 33
        32: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.nonHeads:Ljava/util/Set;
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        33: .line 336
      StackMap locals:
      StackMap stack:
            aload 3 /* ref */
            invokeinterface org.eclipse.jgit.lib.Ref.getPeeledObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            ifnull 35
        34: .line 337
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.tagTargets:Ljava/util/Set;
            aload 3 /* 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 3 // org.eclipse.jgit.lib.Ref ref
        35: .line 323
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.util.Set top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        36: .line 341
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allTags:Ljava/util/Set;
            aload 2 /* allHeads */
            invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
            pop
        37: .line 342
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
            aload 2 /* allHeads */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        38: .line 343
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allTags:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        39: .line 346
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.tagTargets:Ljava/util/Set;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        40: .line 349
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.getSinglePack:()Z
            ifeq 43
        41: .line 350
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.nonHeads:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        42: .line 351
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.nonHeads:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
        43: .line 354
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.util.Set
      StackMap stack:
            iconst_1
            istore 3 /* rollback */
        start local 3 // boolean rollback
        44: .line 356
            aload 0 /* this */
            aload 1 /* pm */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packHeads:(Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        45: .line 357
            aload 0 /* this */
            aload 1 /* pm */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packRest:(Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        46: .line 358
            aload 0 /* this */
            aload 1 /* pm */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packRefTreeGraph:(Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        47: .line 359
            aload 0 /* this */
            aload 1 /* pm */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packGarbage:(Lorg/eclipse/jgit/lib/ProgressMonitor;)V
        48: .line 360
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackDesc:Ljava/util/List;
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.toPrune:()Ljava/util/Set;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.commitPack:(Ljava/util/Collection;Ljava/util/Collection;)V
        49: .line 361
            iconst_0
            istore 3 /* rollback */
        50: .line 364
            iload 3 /* rollback */
            ifeq 52
        51: .line 365
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackDesc:Ljava/util/List;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.rollbackPack:(Ljava/util/Collection;)V
        52: .line 368
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsReader.close:()V
        53: .line 362
            iconst_1
            ireturn
        54: .line 363
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        55: .line 364
            iload 3 /* rollback */
            ifeq 57
        56: .line 365
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackDesc:Ljava/util/List;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.rollbackPack:(Ljava/util/Collection;)V
        57: .line 366
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 4
            athrow
        end local 3 // boolean rollback
        end local 2 // java.util.Set allHeads
        58: .line 367
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor
      StackMap stack: java.lang.Throwable
            astore 5
        59: .line 368
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsReader.close:()V
        60: .line 369
            aload 5
            athrow
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   61     0      this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   61     1        pm  Lorg/eclipse/jgit/lib/ProgressMonitor;
           14   58     2  allHeads  Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
           21   35     3       ref  Lorg/eclipse/jgit/lib/Ref;
           44   58     3  rollback  Z
      Exception table:
        from    to  target  type
          44    50      54  any
           8    52      58  any
          54    58      58  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pm    

  private java.util.Collection<org.eclipse.jgit.lib.Ref> getAllRefs();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 373
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refdb:Lorg/eclipse/jgit/lib/RefDatabase;
            invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefs:()Ljava/util/List;
            astore 1 /* refs */
        start local 1 // java.util.Collection refs
         1: .line 374
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refdb:Lorg/eclipse/jgit/lib/RefDatabase;
            invokevirtual org.eclipse.jgit.lib.RefDatabase.getAdditionalRefs:()Ljava/util/List;
            astore 2 /* addl */
        start local 2 // java.util.List addl
         2: .line 375
            aload 2 /* addl */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 11
         3: .line 376
            new java.util.ArrayList
            dup
            aload 1 /* refs */
            invokeinterface java.util.Collection.size:()I
            aload 2 /* addl */
            invokeinterface java.util.List.size:()I
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* all */
        start local 3 // java.util.List all
         4: .line 377
            aload 3 /* all */
            aload 1 /* refs */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 379
            aload 2 /* addl */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector java.util.Collection java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.Ref
            astore 4 /* r */
        start local 4 // org.eclipse.jgit.lib.Ref r
         7: .line 380
            aload 4 /* r */
            invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
            ldc "refs/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 9
         8: .line 381
            aload 3 /* all */
            aload 4 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.eclipse.jgit.lib.Ref r
         9: .line 379
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 384
            aload 3 /* all */
            areturn
        end local 3 // java.util.List all
        11: .line 386
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector java.util.Collection java.util.List
      StackMap stack:
            aload 1 /* refs */
            areturn
        end local 2 // java.util.List addl
        end local 1 // java.util.Collection refs
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            1   12     1  refs  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
            2   12     2  addl  Ljava/util/List<Lorg/eclipse/jgit/lib/Ref;>;
            4   11     3   all  Ljava/util/List<Lorg/eclipse/jgit/lib/Ref;>;
            7    9     4     r  Lorg/eclipse/jgit/lib/Ref;
    Exceptions:
      throws java.io.IOException
    Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;

  private void readPacksBefore();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 390
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.getPacks:()[Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;
            astore 1 /* packs */
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile[] packs
         1: .line 391
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* packs */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packsBefore:Ljava/util/List;
         2: .line 392
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* packs */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.expiredGarbagePacks:Ljava/util/List;
         3: .line 394
            invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
            invokevirtual org.eclipse.jgit.util.SystemReader.getCurrentTime:()J
            lstore 2 /* now */
        start local 2 // long now
         4: .line 395
            aload 1 /* packs */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 16
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsPackFile[] long top int int org.eclipse.jgit.internal.storage.dfs.DfsPackFile[]
      StackMap stack:
         5: aload 7
            iload 5
            aaload
            astore 4 /* p */
        start local 4 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile p
         6: .line 396
            aload 4 /* p */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getPackDescription:()Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            astore 8 /* d */
        start local 8 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription d
         7: .line 397
            aload 8 /* d */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getPackSource:()Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.UNREACHABLE_GARBAGE:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            if_acmpeq 10
         8: .line 398
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packsBefore:Ljava/util/List;
            aload 4 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 399
            goto 15
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsPackFile[] long org.eclipse.jgit.internal.storage.dfs.DfsPackFile int int org.eclipse.jgit.internal.storage.dfs.DfsPackFile[] org.eclipse.jgit.internal.storage.dfs.DfsPackDescription
      StackMap stack:
        10: aload 0 /* this */
            aload 8 /* d */
            lload 2 /* now */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packIsExpiredGarbage:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;J)Z
            ifeq 13
        11: .line 400
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.expiredGarbagePacks:Ljava/util/List;
            aload 4 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 401
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            aload 8 /* d */
            lload 2 /* now */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packIsCoalesceableGarbage:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;J)Z
            ifeq 15
        14: .line 402
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packsBefore:Ljava/util/List;
            aload 4 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription d
        end local 4 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile p
        15: .line 395
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsPackFile[] long top int int org.eclipse.jgit.internal.storage.dfs.DfsPackFile[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        16: iload 5
            iload 6
            if_icmplt 5
        17: .line 405
            return
        end local 2 // long now
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile[] packs
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            1   18     1  packs  [Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;
            4   18     2    now  J
            6   15     4      p  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;
            7   15     8      d  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
    Exceptions:
      throws java.io.IOException

  private void readReftablesBefore();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 408
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.getReftables:()[Lorg/eclipse/jgit/internal/storage/dfs/DfsReftable;
            astore 1 /* tables */
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsReftable[] tables
         1: .line 409
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* tables */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftablesBefore:Ljava/util/List;
         2: .line 410
            return
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsReftable[] tables
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            1    3     1  tables  [Lorg/eclipse/jgit/internal/storage/dfs/DfsReftable;
    Exceptions:
      throws java.io.IOException

  private boolean packIsExpiredGarbage(org.eclipse.jgit.internal.storage.dfs.DfsPackDescription, long);
    descriptor: (Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription d
        start local 2 // long now
         0: .line 418
            aload 1 /* d */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getPackSource:()Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.UNREACHABLE_GARBAGE:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            if_acmpne 4
         1: .line 419
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
            lconst_0
            lcmp
            ifle 4
         2: .line 420
            lload 2 /* now */
            aload 1 /* d */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getLastModified:()J
            lsub
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
         3: .line 418
            lcmp
            iflt 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // long now
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription d
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    5     1     d  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            0    5     2   now  J
    MethodParameters:
      Name  Flags
      d     
      now   

  private boolean packIsCoalesceableGarbage(org.eclipse.jgit.internal.storage.dfs.DfsPackDescription, long);
    descriptor: (Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;J)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription d
        start local 2 // long now
         0: .line 443
            aload 1 /* d */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getPackSource:()Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.UNREACHABLE_GARBAGE:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            if_acmpne 2
         1: .line 444
            aload 1 /* d */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getFileSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)J
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.coalesceGarbageLimit:J
            lcmp
            iflt 3
         2: .line 445
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 448
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
            lconst_0
            lcmp
            ifne 5
         4: .line 449
            iconst_1
            ireturn
         5: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* d */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getLastModified:()J
            lstore 4 /* lastModified */
        start local 4 // long lastModified
         6: .line 453
            lload 4 /* lastModified */
            invokestatic org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.dayStartInMillis:(J)J
            lstore 6 /* dayStartLastModified */
        start local 6 // long dayStartLastModified
         7: .line 454
            lload 2 /* now */
            invokestatic org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.dayStartInMillis:(J)J
            lstore 8 /* dayStartToday */
        start local 8 // long dayStartToday
         8: .line 456
            lload 6 /* dayStartLastModified */
            lload 8 /* dayStartToday */
            lcmp
            ifeq 10
         9: .line 457
            iconst_0
            ireturn
        10: .line 460
      StackMap locals: long long long
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
            getstatic java.util.concurrent.TimeUnit.DAYS:Ljava/util/concurrent/TimeUnit;
            lconst_1
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lcmp
            ifle 12
        11: .line 461
            iconst_1
            ireturn
        12: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.garbageTtlMillis:J
            ldc 3
            ldiv
            lstore 10 /* timeInterval */
        start local 10 // long timeInterval
        13: .line 465
            lload 10 /* timeInterval */
            lconst_0
            lcmp
            ifne 15
        14: .line 466
            iconst_0
            ireturn
        15: .line 469
      StackMap locals: long
      StackMap stack:
            lload 4 /* lastModified */
            lload 6 /* dayStartLastModified */
            lsub
            lload 10 /* timeInterval */
            ldiv
            lstore 12 /* modifiedTimeSlot */
        start local 12 // long modifiedTimeSlot
        16: .line 470
            lload 2 /* now */
            lload 8 /* dayStartToday */
            lsub
            lload 10 /* timeInterval */
            ldiv
            lstore 14 /* presentTimeSlot */
        start local 14 // long presentTimeSlot
        17: .line 471
            lload 12 /* modifiedTimeSlot */
            lload 14 /* presentTimeSlot */
            lcmp
            ifne 18
            iconst_1
            ireturn
      StackMap locals: long long
      StackMap stack:
        18: iconst_0
            ireturn
        end local 14 // long presentTimeSlot
        end local 12 // long modifiedTimeSlot
        end local 10 // long timeInterval
        end local 8 // long dayStartToday
        end local 6 // long dayStartLastModified
        end local 4 // long lastModified
        end local 2 // long now
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription d
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   19     0                  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   19     1                     d  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            0   19     2                   now  J
            6   19     4          lastModified  J
            7   19     6  dayStartLastModified  J
            8   19     8         dayStartToday  J
           13   19    10          timeInterval  J
           16   19    12      modifiedTimeSlot  J
           17   19    14       presentTimeSlot  J
    MethodParameters:
      Name  Flags
      d     
      now   

  private static long dayStartInMillis(long);
    descriptor: (J)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long timeInMillis
         0: .line 475
            new java.util.GregorianCalendar
            dup
         1: .line 476
            invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
            invokevirtual org.eclipse.jgit.util.SystemReader.getTimeZone:()Ljava/util/TimeZone;
         2: .line 475
            invokespecial java.util.GregorianCalendar.<init>:(Ljava/util/TimeZone;)V
            astore 2 /* cal */
        start local 2 // java.util.Calendar cal
         3: .line 477
            aload 2 /* cal */
            lload 0 /* timeInMillis */
            invokevirtual java.util.Calendar.setTimeInMillis:(J)V
         4: .line 478
            aload 2 /* cal */
            bipush 11
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
         5: .line 479
            aload 2 /* cal */
            bipush 12
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
         6: .line 480
            aload 2 /* cal */
            bipush 13
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
         7: .line 481
            aload 2 /* cal */
            bipush 14
            iconst_0
            invokevirtual java.util.Calendar.set:(II)V
         8: .line 482
            aload 2 /* cal */
            invokevirtual java.util.Calendar.getTimeInMillis:()J
            lreturn
        end local 2 // java.util.Calendar cal
        end local 0 // long timeInMillis
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0  timeInMillis  J
            3    9     2           cal  Ljava/util/Calendar;
    MethodParameters:
              Name  Flags
      timeInMillis  

  public java.util.Set<org.eclipse.jgit.internal.storage.dfs.DfsPackDescription> getSourcePacks();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 491
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.toPrune:()Ljava/util/Set;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    Signature: ()Ljava/util/Set<Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;>;

  public java.util.List<org.eclipse.jgit.internal.storage.dfs.DfsPackDescription> getNewPacks();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 500
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackDesc:Ljava/util/List;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    Signature: ()Ljava/util/List<Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;>;

  public java.util.List<org.eclipse.jgit.storage.pack.PackStatistics> getNewPackStatistics();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 511
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackStats:Ljava/util/List;
            areturn
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
    Signature: ()Ljava/util/List<Lorg/eclipse/jgit/storage/pack/PackStatistics;>;

  private java.util.Set<org.eclipse.jgit.internal.storage.dfs.DfsPackDescription> toPrune();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 515
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* toPrune */
        start local 1 // java.util.Set toPrune
         1: .line 516
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packsBefore:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector java.util.Set top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.dfs.DfsPackFile
            astore 2 /* pack */
        start local 2 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile pack
         3: .line 517
            aload 1 /* toPrune */
            aload 2 /* pack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getPackDescription:()Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile pack
         4: .line 516
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 519
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableConfig:Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            ifnull 10
         6: .line 520
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftablesBefore:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.dfs.DfsReftable
            astore 2 /* table */
        start local 2 // org.eclipse.jgit.internal.storage.dfs.DfsReftable table
         8: .line 521
            aload 1 /* toPrune */
            aload 2 /* table */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsReftable.getPackDescription:()Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.eclipse.jgit.internal.storage.dfs.DfsReftable table
         9: .line 520
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 524
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.expiredGarbagePacks:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector java.util.Set top java.util.Iterator
      StackMap stack:
        11: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.dfs.DfsPackFile
            astore 2 /* pack */
        start local 2 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile pack
        12: .line 525
            aload 1 /* toPrune */
            aload 2 /* pack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getPackDescription:()Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile pack
        13: .line 524
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 527
            aload 1 /* toPrune */
            areturn
        end local 1 // java.util.Set toPrune
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            1   15     1  toPrune  Ljava/util/Set<Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;>;
            3    4     2     pack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;
            8    9     2    table  Lorg/eclipse/jgit/internal/storage/dfs/DfsReftable;
           12   13     2     pack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;
    Signature: ()Ljava/util/Set<Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;>;

  private void packHeads(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
         0: .line 531
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 3
         1: .line 532
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writeReftable:()V
         2: .line 533
            return
         3: .line 536
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2
            aconst_null
            astore 3
         4: aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackWriter:()Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            astore 4 /* pw */
        start local 4 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
         5: .line 537
            aload 4 /* pw */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.tagTargets:Ljava/util/Set;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setTagTargets:(Ljava/util/Set;)V
         6: .line 538
            aload 4 /* pw */
            aload 1 /* pm */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allTags:Ljava/util/Set;
            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
         7: .line 539
            lconst_0
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getObjectCount:()J
            lcmp
            ifge 11
         8: .line 540
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.INSERT:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            iconst_3
            anewarray org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource
            dup
            iconst_0
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.RECEIVE:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aastore
            dup
            iconst_1
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.COMPACT:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aastore
            dup
            iconst_2
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aastore
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.estimateGcPackSize:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;[Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;)J
            lstore 5 /* estSize */
        start local 5 // long estSize
         9: .line 541
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aload 4 /* pw */
            aload 1 /* pm */
            lload 5 /* estSize */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writePack:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;Lorg/eclipse/jgit/internal/storage/pack/PackWriter;Lorg/eclipse/jgit/lib/ProgressMonitor;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        end local 5 // long estSize
        10: .line 542
            goto 12
        11: .line 543
      StackMap locals: java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writeReftable:()V
        12: .line 545
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ifnull 18
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 2
            aload 4 /* pw */
            ifnull 14
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
        end local 4 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
      StackMap locals:
      StackMap stack:
        14: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 3
            aload 2
            ifnonnull 16
            aload 3
            astore 2
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 2
            aload 3
            if_acmpeq 17
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 2
            athrow
        18: .line 546
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   19     1       pm  Lorg/eclipse/jgit/lib/ProgressMonitor;
            5   14     4       pw  Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            9   10     5  estSize  J
      Exception table:
        from    to  target  type
           5    12      13  any
           4    15      15  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pm    

  private void packRest(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=7, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
         0: .line 549
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.nonHeads:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 550
            return
         2: .line 552
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackWriter:()Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            astore 4 /* pw */
        start local 4 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
         4: .line 553
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackObj:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectIdSet
            astore 5 /* packedObjs */
        start local 5 // org.eclipse.jgit.lib.ObjectIdSet packedObjs
         6: .line 554
            aload 4 /* pw */
            aload 5 /* packedObjs */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.excludeObjects:(Lorg/eclipse/jgit/lib/ObjectIdSet;)V
        end local 5 // org.eclipse.jgit.lib.ObjectIdSet packedObjs
         7: .line 553
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 555
            aload 4 /* pw */
            aload 1 /* pm */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.nonHeads:Ljava/util/Set;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.allHeadsAndTags:Ljava/util/Set;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.preparePack:(Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/util/Set;Ljava/util/Set;)V
         9: .line 556
            lconst_0
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getObjectCount:()J
            lcmp
            ifge 13
        10: .line 557
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC_REST:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aload 4 /* pw */
            aload 1 /* pm */
        11: .line 558
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.INSERT:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            iconst_3
            anewarray org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource
            dup
            iconst_0
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.RECEIVE:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aastore
            dup
            iconst_1
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.COMPACT:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aastore
            dup
            iconst_2
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC_REST:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aastore
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.estimateGcPackSize:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;[Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;)J
        12: .line 557
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writePack:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;Lorg/eclipse/jgit/internal/storage/pack/PackWriter;Lorg/eclipse/jgit/lib/ProgressMonitor;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        13: .line 559
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
      StackMap stack:
            aload 4 /* pw */
            ifnull 19
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 4 /* pw */
            ifnull 15
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
        end local 4 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
            aload 2
            ifnonnull 17
            aload 3
            astore 2
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 2
            aload 3
            if_acmpeq 18
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 2
            athrow
        19: .line 560
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   20     1          pm  Lorg/eclipse/jgit/lib/ProgressMonitor;
            4   15     4          pw  Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            6    7     5  packedObjs  Lorg/eclipse/jgit/lib/ObjectIdSet;
      Exception table:
        from    to  target  type
           4    13      14  any
           3    16      16  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pm    

  private void packRefTreeGraph(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
         0: .line 563
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.txnHeads:Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 2
         1: .line 564
            return
         2: .line 566
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2
            aconst_null
            astore 3
         3: aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackWriter:()Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            astore 4 /* pw */
        start local 4 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
         4: .line 567
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackObj:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectIdSet
            astore 5 /* packedObjs */
        start local 5 // org.eclipse.jgit.lib.ObjectIdSet packedObjs
         6: .line 568
            aload 4 /* pw */
            aload 5 /* packedObjs */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.excludeObjects:(Lorg/eclipse/jgit/lib/ObjectIdSet;)V
        end local 5 // org.eclipse.jgit.lib.ObjectIdSet packedObjs
         7: .line 567
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 569
            aload 4 /* pw */
            aload 1 /* pm */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.txnHeads:Ljava/util/Set;
            getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.preparePack:(Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/util/Set;Ljava/util/Set;)V
         9: .line 570
            lconst_0
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getObjectCount:()J
            lcmp
            ifge 11
        10: .line 571
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC_TXN:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aload 4 /* pw */
            aload 1 /* pm */
            lconst_0
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writePack:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;Lorg/eclipse/jgit/internal/storage/pack/PackWriter;Lorg/eclipse/jgit/lib/ProgressMonitor;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        11: .line 572
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
      StackMap stack:
            aload 4 /* pw */
            ifnull 17
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 2
            aload 4 /* pw */
            ifnull 13
            aload 4 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
        end local 4 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
      StackMap locals:
      StackMap stack:
        13: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 3
            aload 2
            ifnonnull 15
            aload 3
            astore 2
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 2
            aload 3
            if_acmpeq 16
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 2
            athrow
        17: .line 573
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   18     1          pm  Lorg/eclipse/jgit/lib/ProgressMonitor;
            4   13     4          pw  Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            6    7     5  packedObjs  Lorg/eclipse/jgit/lib/ObjectIdSet;
      Exception table:
        from    to  target  type
           4    11      12  any
           3    14      14  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pm    

  private void packGarbage(org.eclipse.jgit.lib.ProgressMonitor);
    descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=23, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
         0: .line 576
            new org.eclipse.jgit.storage.pack.PackConfig
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            invokespecial org.eclipse.jgit.storage.pack.PackConfig.<init>:(Lorg/eclipse/jgit/storage/pack/PackConfig;)V
            astore 2 /* cfg */
        start local 2 // org.eclipse.jgit.storage.pack.PackConfig cfg
         1: .line 577
            aload 2 /* cfg */
            iconst_1
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.setReuseDeltas:(Z)V
         2: .line 578
            aload 2 /* cfg */
            iconst_1
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.setReuseObjects:(Z)V
         3: .line 579
            aload 2 /* cfg */
            iconst_0
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.setDeltaCompress:(Z)V
         4: .line 580
            aload 2 /* cfg */
            iconst_0
            invokevirtual org.eclipse.jgit.storage.pack.PackConfig.setBuildBitmaps:(Z)V
         5: .line 582
            aconst_null
            astore 3
            aconst_null
            astore 4
         6: new org.eclipse.jgit.internal.storage.pack.PackWriter
            dup
            aload 2 /* cfg */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            invokespecial org.eclipse.jgit.internal.storage.pack.PackWriter.<init>:(Lorg/eclipse/jgit/storage/pack/PackConfig;Lorg/eclipse/jgit/lib/ObjectReader;)V
            astore 5 /* pw */
        start local 5 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
         7: .line 583
            new org.eclipse.jgit.revwalk.RevWalk
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/ObjectReader;)V
            astore 6 /* pool */
        start local 6 // org.eclipse.jgit.revwalk.RevWalk pool
         8: .line 584
            aload 5 /* pw */
            iconst_1
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setDeltaBaseAsOffset:(Z)V
         9: .line 585
            aload 5 /* pw */
            iconst_1
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setReuseDeltaCommits:(Z)V
        10: .line 586
            aload 1 /* pm */
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.findingGarbage:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objectsBefore:()I
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
        11: .line 587
            ldc 32
            lstore 7 /* estimatedPackSize */
        start local 7 // long estimatedPackSize
        12: .line 588
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packsBefore:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 33
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.storage.pack.PackConfig java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.revwalk.RevWalk long top java.util.Iterator
      StackMap stack:
        13: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.dfs.DfsPackFile
            astore 9 /* oldPack */
        start local 9 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile oldPack
        14: .line 589
            aload 9 /* oldPack */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getPackIndex:(Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;)Lorg/eclipse/jgit/internal/storage/file/PackIndex;
            astore 11 /* oldIdx */
        start local 11 // org.eclipse.jgit.internal.storage.file.PackIndex oldIdx
        15: .line 590
            aload 9 /* oldPack */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getReverseIdx:(Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;)Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
            astore 12 /* oldRevIdx */
        start local 12 // org.eclipse.jgit.internal.storage.file.PackReverseIndex oldRevIdx
        16: .line 591
            aload 9 /* oldPack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getPackDescription:()Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getFileSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)J
        17: .line 592
            ldc 20
        18: .line 591
            lsub
            lstore 13 /* maxOffset */
        start local 13 // long maxOffset
        19: .line 593
            aload 11 /* oldIdx */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.iterator:()Ljava/util/Iterator;
            astore 16
            goto 32
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.storage.pack.PackConfig java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.revwalk.RevWalk long org.eclipse.jgit.internal.storage.dfs.DfsPackFile java.util.Iterator org.eclipse.jgit.internal.storage.file.PackIndex org.eclipse.jgit.internal.storage.file.PackReverseIndex long top java.util.Iterator
      StackMap stack:
        20: aload 16
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry
            astore 15 /* ent */
        start local 15 // org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry ent
        21: .line 594
            aload 1 /* pm */
            iconst_1
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.update:(I)V
        22: .line 595
            aload 15 /* ent */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry.toObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
            astore 17 /* id */
        start local 17 // org.eclipse.jgit.lib.ObjectId id
        23: .line 596
            aload 6 /* pool */
            aload 17 /* id */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.lookupOrNull:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
            ifnonnull 32
            aload 0 /* this */
            aload 17 /* id */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.anyPackHas:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifeq 25
        24: .line 597
            goto 32
        25: .line 599
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.storage.pack.PackConfig java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.revwalk.RevWalk long org.eclipse.jgit.internal.storage.dfs.DfsPackFile java.util.Iterator org.eclipse.jgit.internal.storage.file.PackIndex org.eclipse.jgit.internal.storage.file.PackReverseIndex long org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry java.util.Iterator org.eclipse.jgit.lib.ObjectId
      StackMap stack:
            aload 15 /* ent */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry.getOffset:()J
            lstore 18 /* offset */
        start local 18 // long offset
        26: .line 600
            aload 9 /* oldPack */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            lload 18 /* offset */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getObjectType:(Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;J)I
            istore 20 /* type */
        start local 20 // int type
        27: .line 601
            aload 5 /* pw */
            aload 6 /* pool */
            aload 17 /* id */
            iload 20 /* type */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.lookupAny:(Lorg/eclipse/jgit/lib/AnyObjectId;I)Lorg/eclipse/jgit/revwalk/RevObject;
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.addObject:(Lorg/eclipse/jgit/revwalk/RevObject;)V
        28: .line 602
            aload 12 /* oldRevIdx */
            lload 18 /* offset */
            lload 13 /* maxOffset */
            invokevirtual org.eclipse.jgit.internal.storage.file.PackReverseIndex.findNextOffset:(JJ)J
        29: .line 603
            lload 18 /* offset */
        30: .line 602
            lsub
            lstore 21 /* objSize */
        start local 21 // long objSize
        31: .line 604
            lload 7 /* estimatedPackSize */
            lload 21 /* objSize */
            ladd
            lstore 7 /* estimatedPackSize */
        end local 21 // long objSize
        end local 20 // int type
        end local 18 // long offset
        end local 17 // org.eclipse.jgit.lib.ObjectId id
        end local 15 // org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry ent
        32: .line 593
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.storage.pack.PackConfig java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.revwalk.RevWalk long org.eclipse.jgit.internal.storage.dfs.DfsPackFile java.util.Iterator org.eclipse.jgit.internal.storage.file.PackIndex org.eclipse.jgit.internal.storage.file.PackReverseIndex long top java.util.Iterator
      StackMap stack:
            aload 16
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 13 // long maxOffset
        end local 12 // org.eclipse.jgit.internal.storage.file.PackReverseIndex oldRevIdx
        end local 11 // org.eclipse.jgit.internal.storage.file.PackIndex oldIdx
        end local 9 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile oldPack
        33: .line 588
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.storage.pack.PackConfig java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.revwalk.RevWalk long top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        34: .line 607
            aload 1 /* pm */
            invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
        35: .line 608
            lconst_0
            aload 5 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getObjectCount:()J
            lcmp
            ifge 37
        36: .line 609
            aload 0 /* this */
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.UNREACHABLE_GARBAGE:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            aload 5 /* pw */
            aload 1 /* pm */
            lload 7 /* estimatedPackSize */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writePack:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;Lorg/eclipse/jgit/internal/storage/pack/PackWriter;Lorg/eclipse/jgit/lib/ProgressMonitor;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        end local 7 // long estimatedPackSize
        37: .line 610
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.ProgressMonitor org.eclipse.jgit.storage.pack.PackConfig java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.revwalk.RevWalk
      StackMap stack:
            aload 6 /* pool */
            ifnull 40
            aload 6 /* pool */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 3
            aload 6 /* pool */
            ifnull 39
            aload 6 /* pool */
            invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
        end local 6 // org.eclipse.jgit.revwalk.RevWalk pool
      StackMap locals:
      StackMap stack:
        39: aload 3
            athrow
      StackMap locals:
      StackMap stack:
        40: aload 5 /* pw */
            ifnull 48
            aload 5 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
            goto 48
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 4
            aload 3
            ifnonnull 42
            aload 4
            astore 3
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 3
            aload 4
            if_acmpeq 43
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 5 /* pw */
            ifnull 44
            aload 5 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
        end local 5 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
      StackMap locals:
      StackMap stack:
        44: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 4
            aload 3
            ifnonnull 46
            aload 4
            astore 3
            goto 47
      StackMap locals:
      StackMap stack:
        46: aload 3
            aload 4
            if_acmpeq 47
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        47: aload 3
            athrow
        48: .line 611
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jgit.storage.pack.PackConfig cfg
        end local 1 // org.eclipse.jgit.lib.ProgressMonitor pm
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   49     0               this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   49     1                 pm  Lorg/eclipse/jgit/lib/ProgressMonitor;
            1   49     2                cfg  Lorg/eclipse/jgit/storage/pack/PackConfig;
            7   44     5                 pw  Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            8   39     6               pool  Lorg/eclipse/jgit/revwalk/RevWalk;
           12   37     7  estimatedPackSize  J
           14   33     9            oldPack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;
           15   33    11             oldIdx  Lorg/eclipse/jgit/internal/storage/file/PackIndex;
           16   33    12          oldRevIdx  Lorg/eclipse/jgit/internal/storage/file/PackReverseIndex;
           19   33    13          maxOffset  J
           21   32    15                ent  Lorg/eclipse/jgit/internal/storage/file/PackIndex$MutableEntry;
           23   32    17                 id  Lorg/eclipse/jgit/lib/ObjectId;
           26   32    18             offset  J
           27   32    20               type  I
           31   32    21            objSize  J
      Exception table:
        from    to  target  type
           8    37      38  any
           7    40      41  any
           6    45      45  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pm    

  private boolean anyPackHas(org.eclipse.jgit.lib.AnyObjectId);
    descriptor: (Lorg/eclipse/jgit/lib/AnyObjectId;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.lib.AnyObjectId id
         0: .line 614
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackObj:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.lib.AnyObjectId top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.lib.ObjectIdSet
            astore 2 /* packedObjs */
        start local 2 // org.eclipse.jgit.lib.ObjectIdSet packedObjs
         2: .line 615
            aload 2 /* packedObjs */
            aload 1 /* id */
            invokeinterface org.eclipse.jgit.lib.ObjectIdSet.contains:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
            ifeq 4
         3: .line 616
            iconst_1
            ireturn
        end local 2 // org.eclipse.jgit.lib.ObjectIdSet packedObjs
         4: .line 614
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 617
            iconst_0
            ireturn
        end local 1 // org.eclipse.jgit.lib.AnyObjectId id
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    6     1          id  Lorg/eclipse/jgit/lib/AnyObjectId;
            2    4     2  packedObjs  Lorg/eclipse/jgit/lib/ObjectIdSet;
    MethodParameters:
      Name  Flags
      id    

  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 621
            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 625
            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 int objectsBefore();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 629
            iconst_0
            istore 1 /* cnt */
        start local 1 // int cnt
         1: .line 630
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packsBefore:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.dfs.DfsPackFile
            astore 2 /* p */
        start local 2 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile p
         3: .line 631
            iload 1 /* cnt */
            aload 2 /* p */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackFile.getPackDescription:()Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getObjectCount:()J
            l2i
            iadd
            istore 1 /* cnt */
        end local 2 // org.eclipse.jgit.internal.storage.dfs.DfsPackFile p
         4: .line 630
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 632
            iload 1 /* cnt */
            ireturn
        end local 1 // int cnt
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            1    6     1   cnt  I
            3    4     2     p  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackFile;

  private org.eclipse.jgit.internal.storage.pack.PackWriter newPackWriter();
    descriptor: ()Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 636
            new org.eclipse.jgit.internal.storage.pack.PackWriter
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.packConfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            invokespecial org.eclipse.jgit.internal.storage.pack.PackWriter.<init>:(Lorg/eclipse/jgit/storage/pack/PackConfig;Lorg/eclipse/jgit/lib/ObjectReader;)V
            astore 1 /* pw */
        start local 1 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
         1: .line 637
            aload 1 /* pw */
            iconst_1
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setDeltaBaseAsOffset:(Z)V
         2: .line 638
            aload 1 /* pw */
            iconst_0
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setReuseDeltaCommits:(Z)V
         3: .line 639
            aload 1 /* pw */
            areturn
        end local 1 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            1    4     1    pw  Lorg/eclipse/jgit/internal/storage/pack/PackWriter;

  private long estimateGcPackSize(org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource, org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource[]);
    descriptor: (Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;[Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;)J
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource first
        start local 2 // org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource[] rest
         0: .line 643
            aload 1 /* first */
            aload 2 /* rest */
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
            astore 3 /* sourceSet */
        start local 3 // java.util.EnumSet sourceSet
         1: .line 647
            ldc 32
            lstore 4 /* size */
        start local 4 // long size
         2: .line 648
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.getSourcePacks:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 6
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource[] java.util.EnumSet long top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.dfs.DfsPackDescription
            astore 6 /* pack */
        start local 6 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
         4: .line 649
            aload 3 /* sourceSet */
            aload 6 /* pack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getPackSource:()Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 650
            lload 4 /* size */
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getFileSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)J
            ldc 32
            lsub
            ladd
            lstore 4 /* size */
        end local 6 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
         6: .line 648
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 653
            lload 4 /* size */
            lreturn
        end local 4 // long size
        end local 3 // java.util.EnumSet sourceSet
        end local 2 // org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource[] rest
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource first
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0    8     1      first  Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            0    8     2       rest  [Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            1    8     3  sourceSet  Ljava/util/EnumSet<Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;>;
            2    8     4       size  J
            4    6     6       pack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
    MethodParameters:
       Name  Flags
      first  
      rest   

  private org.eclipse.jgit.internal.storage.dfs.DfsPackDescription writePack(org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource, org.eclipse.jgit.internal.storage.pack.PackWriter, org.eclipse.jgit.lib.ProgressMonitor, long);
    descriptor: (Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;Lorg/eclipse/jgit/internal/storage/pack/PackWriter;Lorg/eclipse/jgit/lib/ProgressMonitor;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=5
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource source
        start local 2 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
        start local 3 // org.eclipse.jgit.lib.ProgressMonitor pm
        start local 4 // long estimatedPackSize
         0: .line 658
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.repo:Lorg/eclipse/jgit/internal/storage/dfs/DfsRepository;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 1 /* source */
         1: .line 659
            lload 4 /* estimatedPackSize */
         2: .line 658
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.newPack:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            astore 6 /* pack */
        start local 6 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
         3: .line 661
            aload 1 /* source */
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            if_acmpne 5
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableConfig:Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            ifnull 5
         4: .line 662
            aload 0 /* this */
            aload 6 /* pack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writeReftable:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;)V
         5: .line 665
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsPackDescription
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         6: aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.writeFile:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
            astore 9 /* out */
        start local 9 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
         7: .line 666
            aload 2 /* pw */
            aload 3 /* pm */
            aload 3 /* pm */
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writePack:(Lorg/eclipse/jgit/lib/ProgressMonitor;Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/io/OutputStream;)V
         8: .line 667
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.addFileExt:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)V
         9: .line 668
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.blockSize:()I
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setBlockSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        10: .line 669
            aload 9 /* out */
            ifnull 16
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
            goto 16
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.lib.ProgressMonitor long org.eclipse.jgit.internal.storage.dfs.DfsPackDescription java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.dfs.DfsOutputStream
      StackMap stack: java.lang.Throwable
        11: astore 7
            aload 9 /* out */
            ifnull 12
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
        end local 9 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
      StackMap locals:
      StackMap stack:
        12: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 8
            aload 7
            ifnonnull 14
            aload 8
            astore 7
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 7
            aload 8
            if_acmpeq 15
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 7
            athrow
        16: .line 671
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
        17: aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.writeFile:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
            astore 9 /* out */
        start local 9 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
        18: .line 672
            new org.eclipse.jgit.util.io.CountingOutputStream
            dup
            aload 9 /* out */
            invokespecial org.eclipse.jgit.util.io.CountingOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 10 /* cnt */
        start local 10 // org.eclipse.jgit.util.io.CountingOutputStream cnt
        19: .line 673
            aload 2 /* pw */
            aload 10 /* cnt */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writeIndex:(Ljava/io/OutputStream;)V
        20: .line 674
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.addFileExt:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)V
        21: .line 675
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 10 /* cnt */
            invokevirtual org.eclipse.jgit.util.io.CountingOutputStream.getCount:()J
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setFileSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        22: .line 676
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.blockSize:()I
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setBlockSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        23: .line 677
            aload 6 /* pack */
            aload 2 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getIndexVersion:()I
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setIndexVersion:(I)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        end local 10 // org.eclipse.jgit.util.io.CountingOutputStream cnt
        24: .line 678
            aload 9 /* out */
            ifnull 30
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
            goto 30
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.lib.ProgressMonitor long org.eclipse.jgit.internal.storage.dfs.DfsPackDescription java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.dfs.DfsOutputStream
      StackMap stack: java.lang.Throwable
        25: astore 7
            aload 9 /* out */
            ifnull 26
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
        end local 9 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
      StackMap locals:
      StackMap stack:
        26: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 8
            aload 7
            ifnonnull 28
            aload 8
            astore 7
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 7
            aload 8
            if_acmpeq 29
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 7
            athrow
        30: .line 680
      StackMap locals:
      StackMap stack:
            aload 2 /* pw */
            aload 3 /* pm */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.prepareBitmapIndex:(Lorg/eclipse/jgit/lib/ProgressMonitor;)Z
            ifeq 44
        31: .line 681
            aconst_null
            astore 7
            aconst_null
            astore 8
        32: aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.writeFile:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
            astore 9 /* out */
        start local 9 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
        33: .line 682
            new org.eclipse.jgit.util.io.CountingOutputStream
            dup
            aload 9 /* out */
            invokespecial org.eclipse.jgit.util.io.CountingOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 10 /* cnt */
        start local 10 // org.eclipse.jgit.util.io.CountingOutputStream cnt
        34: .line 683
            aload 2 /* pw */
            aload 10 /* cnt */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writeBitmapIndex:(Ljava/io/OutputStream;)V
        35: .line 684
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.addFileExt:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)V
        36: .line 685
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 10 /* cnt */
            invokevirtual org.eclipse.jgit.util.io.CountingOutputStream.getCount:()J
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setFileSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        37: .line 686
            aload 6 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.blockSize:()I
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setBlockSize:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        end local 10 // org.eclipse.jgit.util.io.CountingOutputStream cnt
        38: .line 687
            aload 9 /* out */
            ifnull 44
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
            goto 44
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource org.eclipse.jgit.internal.storage.pack.PackWriter org.eclipse.jgit.lib.ProgressMonitor long org.eclipse.jgit.internal.storage.dfs.DfsPackDescription java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.dfs.DfsOutputStream
      StackMap stack: java.lang.Throwable
        39: astore 7
            aload 9 /* out */
            ifnull 40
            aload 9 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
        end local 9 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
      StackMap locals:
      StackMap stack:
        40: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 8
            aload 7
            ifnonnull 42
            aload 8
            astore 7
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 7
            aload 8
            if_acmpeq 43
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 7
            athrow
        44: .line 690
      StackMap locals:
      StackMap stack:
            aload 2 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getStatistics:()Lorg/eclipse/jgit/storage/pack/PackStatistics;
            astore 7 /* stats */
        start local 7 // org.eclipse.jgit.storage.pack.PackStatistics stats
        45: .line 691
            aload 6 /* pack */
            aload 7 /* stats */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setPackStats:(Lorg/eclipse/jgit/storage/pack/PackStatistics;)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        46: .line 692
            aload 6 /* pack */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.startTimeMillis:J
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setLastModified:(J)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            pop
        47: .line 693
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackDesc:Ljava/util/List;
            aload 6 /* pack */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        48: .line 694
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackStats:Ljava/util/List;
            aload 7 /* stats */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        49: .line 695
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackObj:Ljava/util/List;
            aload 2 /* pw */
            invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getObjectSet:()Lorg/eclipse/jgit/lib/ObjectIdOwnerMap;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        50: .line 696
            aload 6 /* pack */
            areturn
        end local 7 // org.eclipse.jgit.storage.pack.PackStatistics stats
        end local 6 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
        end local 4 // long estimatedPackSize
        end local 3 // org.eclipse.jgit.lib.ProgressMonitor pm
        end local 2 // org.eclipse.jgit.internal.storage.pack.PackWriter pw
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource source
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   51     0               this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   51     1             source  Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            0   51     2                 pw  Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
            0   51     3                 pm  Lorg/eclipse/jgit/lib/ProgressMonitor;
            0   51     4  estimatedPackSize  J
            3   51     6               pack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            7   12     9                out  Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
           18   26     9                out  Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
           19   24    10                cnt  Lorg/eclipse/jgit/util/io/CountingOutputStream;
           33   40     9                out  Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
           34   38    10                cnt  Lorg/eclipse/jgit/util/io/CountingOutputStream;
           45   51     7              stats  Lorg/eclipse/jgit/storage/pack/PackStatistics;
      Exception table:
        from    to  target  type
           7    10      11  any
           6    13      13  any
          18    24      25  any
          17    27      27  any
          33    38      39  any
          32    41      41  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      source             
      pw                 
      pm                 
      estimatedPackSize  

  private void writeReftable();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 700
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableConfig:Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            ifnull 5
         1: .line 701
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.newPack:(Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;)Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            astore 1 /* pack */
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
         2: .line 702
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackDesc:Ljava/util/List;
            aload 1 /* pack */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 703
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.newPackStats:Ljava/util/List;
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 704
            aload 0 /* this */
            aload 1 /* pack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writeReftable:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;)V
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
         5: .line 706
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            2    5     1  pack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
    Exceptions:
      throws java.io.IOException

  private void writeReftable(org.eclipse.jgit.internal.storage.dfs.DfsPackDescription);
    descriptor: (Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
         0: .line 709
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.convertToReftable:Z
            ifeq 3
            aload 0 /* this */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.hasGcReftable:()Z
            ifne 3
         1: .line 710
            aload 0 /* this */
            aload 1 /* pack */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.refsBefore:Ljava/util/Collection;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.writeReftable:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Ljava/util/Collection;)V
         2: .line 711
            return
         3: .line 714
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2
            aconst_null
            astore 3
         4: aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.ctx:Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftablesBefore:Ljava/util/List;
            invokestatic org.eclipse.jgit.internal.storage.dfs.DfsReftableStack.open:(Lorg/eclipse/jgit/internal/storage/dfs/DfsReader;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/dfs/DfsReftableStack;
            astore 4 /* stack */
        start local 4 // org.eclipse.jgit.internal.storage.dfs.DfsReftableStack stack
         5: .line 715
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 1 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.REFTABLE:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.writeFile:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
            astore 5 /* out */
        start local 5 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
         6: .line 716
            new org.eclipse.jgit.internal.storage.reftable.ReftableCompactor
            dup
            aload 5 /* out */
            invokespecial org.eclipse.jgit.internal.storage.reftable.ReftableCompactor.<init>:(Ljava/io/OutputStream;)V
            astore 6 /* compact */
        start local 6 // org.eclipse.jgit.internal.storage.reftable.ReftableCompactor compact
         7: .line 717
            aload 6 /* compact */
            aload 4 /* stack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsReftableStack.readers:()Ljava/util/List;
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableCompactor.addAll:(Ljava/util/List;)V
         8: .line 718
            aload 6 /* compact */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.includeDeletes:Z
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableCompactor.setIncludeDeletes:(Z)Lorg/eclipse/jgit/internal/storage/reftable/ReftableCompactor;
            pop
         9: .line 719
            aload 6 /* compact */
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableConfig:Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            aload 5 /* out */
            invokestatic org.eclipse.jgit.internal.storage.dfs.DfsPackCompactor.configureReftable:(Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;)Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableCompactor.setConfig:(Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;)Lorg/eclipse/jgit/internal/storage/reftable/ReftableCompactor;
            pop
        10: .line 720
            aload 6 /* compact */
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableCompactor.compact:()V
        11: .line 721
            aload 1 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.REFTABLE:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.addFileExt:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)V
        12: .line 722
            aload 1 /* pack */
            aload 6 /* compact */
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableCompactor.getStats:()Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter$Stats;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setReftableStats:(Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter$Stats;)V
        end local 6 // org.eclipse.jgit.internal.storage.reftable.ReftableCompactor compact
        13: .line 723
            aload 5 /* out */
            ifnull 16
            aload 5 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
            goto 16
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsPackDescription java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.dfs.DfsReftableStack org.eclipse.jgit.internal.storage.dfs.DfsOutputStream
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 5 /* out */
            ifnull 15
            aload 5 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
        end local 5 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
      StackMap locals:
      StackMap stack:
        15: aload 2
            athrow
      StackMap locals:
      StackMap stack:
        16: aload 4 /* stack */
            ifnull 24
            aload 4 /* stack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsReftableStack.close:()V
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 3
            aload 2
            ifnonnull 18
            aload 3
            astore 2
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 2
            aload 3
            if_acmpeq 19
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 4 /* stack */
            ifnull 20
            aload 4 /* stack */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsReftableStack.close:()V
        end local 4 // org.eclipse.jgit.internal.storage.dfs.DfsReftableStack stack
      StackMap locals:
      StackMap stack:
        20: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 3
            aload 2
            ifnonnull 22
            aload 3
            astore 2
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 2
            aload 3
            if_acmpeq 23
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 2
            athrow
        24: .line 724
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   25     0     this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   25     1     pack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            5   20     4    stack  Lorg/eclipse/jgit/internal/storage/dfs/DfsReftableStack;
            6   15     5      out  Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
            7   13     6  compact  Lorg/eclipse/jgit/internal/storage/reftable/ReftableCompactor;
      Exception table:
        from    to  target  type
           6    13      14  any
           5    16      17  any
           4    21      21  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      pack  

  private boolean hasGcReftable();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
         0: .line 727
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftablesBefore:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jgit.internal.storage.dfs.DfsReftable
            astore 1 /* table */
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsReftable table
         2: .line 728
            aload 1 /* table */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsReftable.getPackDescription:()Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.getPackSource:()Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            getstatic org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource.GC:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase$PackSource;
            if_acmpne 4
         3: .line 729
            iconst_1
            ireturn
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsReftable table
         4: .line 727
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 732
            iconst_0
            ireturn
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            2    4     1  table  Lorg/eclipse/jgit/internal/storage/dfs/DfsReftable;

  private void writeReftable(org.eclipse.jgit.internal.storage.dfs.DfsPackDescription, java.util.Collection<org.eclipse.jgit.lib.Ref>);
    descriptor: (Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
        start local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
        start local 2 // java.util.Collection refs
         0: .line 737
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.objdb:Lorg/eclipse/jgit/internal/storage/dfs/DfsObjDatabase;
            aload 1 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.REFTABLE:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase.writeFile:(Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
            astore 5 /* out */
        start local 5 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
         2: .line 738
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableConfig:Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            aload 5 /* out */
            invokestatic org.eclipse.jgit.internal.storage.dfs.DfsPackCompactor.configureReftable:(Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;)Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            astore 6 /* cfg */
        start local 6 // org.eclipse.jgit.internal.storage.reftable.ReftableConfig cfg
         3: .line 739
            new org.eclipse.jgit.internal.storage.reftable.ReftableWriter
            dup
            aload 6 /* cfg */
            aload 5 /* out */
            invokespecial org.eclipse.jgit.internal.storage.reftable.ReftableWriter.<init>:(Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;Ljava/io/OutputStream;)V
         4: .line 740
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableInitialMinUpdateIndex:J
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableWriter.setMinUpdateIndex:(J)Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter;
         5: .line 741
            aload 0 /* this */
            getfield org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector.reftableInitialMaxUpdateIndex:J
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableWriter.setMaxUpdateIndex:(J)Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter;
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableWriter.begin:()Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter;
         6: .line 742
            aload 2 /* refs */
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableWriter.sortAndWriteRefs:(Ljava/util/Collection;)Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter;
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableWriter.finish:()Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter;
         7: .line 739
            astore 7 /* writer */
        start local 7 // org.eclipse.jgit.internal.storage.reftable.ReftableWriter writer
         8: .line 743
            aload 1 /* pack */
            getstatic org.eclipse.jgit.internal.storage.pack.PackExt.REFTABLE:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.addFileExt:(Lorg/eclipse/jgit/internal/storage/pack/PackExt;)V
         9: .line 744
            aload 1 /* pack */
            aload 7 /* writer */
            invokevirtual org.eclipse.jgit.internal.storage.reftable.ReftableWriter.getStats:()Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter$Stats;
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsPackDescription.setReftableStats:(Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter$Stats;)V
        end local 7 // org.eclipse.jgit.internal.storage.reftable.ReftableWriter writer
        end local 6 // org.eclipse.jgit.internal.storage.reftable.ReftableConfig cfg
        10: .line 745
            aload 5 /* out */
            ifnull 16
            aload 5 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
            goto 16
      StackMap locals: org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector org.eclipse.jgit.internal.storage.dfs.DfsPackDescription java.util.Collection java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.dfs.DfsOutputStream
      StackMap stack: java.lang.Throwable
        11: astore 3
            aload 5 /* out */
            ifnull 12
            aload 5 /* out */
            invokevirtual org.eclipse.jgit.internal.storage.dfs.DfsOutputStream.close:()V
        end local 5 // org.eclipse.jgit.internal.storage.dfs.DfsOutputStream out
      StackMap locals:
      StackMap stack:
        12: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
            aload 3
            ifnonnull 14
            aload 4
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 3
            aload 4
            if_acmpeq 15
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 3
            athrow
        16: .line 746
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Collection refs
        end local 1 // org.eclipse.jgit.internal.storage.dfs.DfsPackDescription pack
        end local 0 // org.eclipse.jgit.internal.storage.dfs.DfsGarbageCollector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/eclipse/jgit/internal/storage/dfs/DfsGarbageCollector;
            0   17     1    pack  Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;
            0   17     2    refs  Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
            2   12     5     out  Lorg/eclipse/jgit/internal/storage/dfs/DfsOutputStream;
            3   10     6     cfg  Lorg/eclipse/jgit/internal/storage/reftable/ReftableConfig;
            8   10     7  writer  Lorg/eclipse/jgit/internal/storage/reftable/ReftableWriter;
      Exception table:
        from    to  target  type
           2    10      11  any
           1    13      13  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/eclipse/jgit/internal/storage/dfs/DfsPackDescription;Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;)V
    MethodParameters:
      Name  Flags
      pack  
      refs  
}
SourceFile: "DfsGarbageCollector.java"
InnerClasses:
  public final PackSource = org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase$PackSource of org.eclipse.jgit.internal.storage.dfs.DfsObjDatabase
  public MutableEntry = org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry of org.eclipse.jgit.internal.storage.file.PackIndex
  public Stats = org.eclipse.jgit.internal.storage.reftable.ReftableWriter$Stats of org.eclipse.jgit.internal.storage.reftable.ReftableWriter
  public abstract Entry = org.eclipse.jgit.lib.ObjectIdOwnerMap$Entry of org.eclipse.jgit.lib.ObjectIdOwnerMap