class org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight extends org.apache.lucene.search.ConstantScoreWeight
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight
  super_class: org.apache.lucene.search.ConstantScoreWeight
{
  private final org.apache.lucene.search.Weight in;
    descriptor: Lorg/apache/lucene/search/Weight;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.search.QueryCachingPolicy policy;
    descriptor: Lorg/apache/lucene/search/QueryCachingPolicy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicBoolean used;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.apache.lucene.search.LRUQueryCache this$0;
    descriptor: Lorg/apache/lucene/search/LRUQueryCache;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 661
            ldc Lorg/apache/lucene/search/LRUQueryCache;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.apache.lucene.search.LRUQueryCache, org.apache.lucene.search.Weight, org.apache.lucene.search.QueryCachingPolicy);
    descriptor: (Lorg/apache/lucene/search/LRUQueryCache;Lorg/apache/lucene/search/Weight;Lorg/apache/lucene/search/QueryCachingPolicy;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 2 // org.apache.lucene.search.Weight in
        start local 3 // org.apache.lucene.search.QueryCachingPolicy policy
         0: .line 669
            aload 0 /* this */
            aload 1
            putfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
         1: .line 670
            aload 0 /* this */
            aload 2 /* in */
            invokevirtual org.apache.lucene.search.Weight.getQuery:()Lorg/apache/lucene/search/Query;
            fconst_1
            invokespecial org.apache.lucene.search.ConstantScoreWeight.<init>:(Lorg/apache/lucene/search/Query;F)V
         2: .line 671
            aload 0 /* this */
            aload 2 /* in */
            putfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
         3: .line 672
            aload 0 /* this */
            aload 3 /* policy */
            putfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.policy:Lorg/apache/lucene/search/QueryCachingPolicy;
         4: .line 673
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
            putfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.used:Ljava/util/concurrent/atomic/AtomicBoolean;
         5: .line 674
            return
        end local 3 // org.apache.lucene.search.QueryCachingPolicy policy
        end local 2 // org.apache.lucene.search.Weight in
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    6     2      in  Lorg/apache/lucene/search/Weight;
            0    6     3  policy  Lorg/apache/lucene/search/QueryCachingPolicy;
    MethodParameters:
        Name  Flags
      this$0  final
      in      
      policy  

  public void extractTerms(java.util.Set<org.apache.lucene.index.Term>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // java.util.Set terms
         0: .line 678
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* terms */
            invokevirtual org.apache.lucene.search.Weight.extractTerms:(Ljava/util/Set;)V
         1: .line 679
            return
        end local 1 // java.util.Set terms
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    2     1  terms  Ljava/util/Set<Lorg/apache/lucene/index/Term;>;
    Signature: (Ljava/util/Set<Lorg/apache/lucene/index/Term;>;)V
    MethodParameters:
       Name  Flags
      terms  

  public org.apache.lucene.search.Matches matches(org.apache.lucene.index.LeafReaderContext, int);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;I)Lorg/apache/lucene/search/Matches;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
        start local 2 // int doc
         0: .line 683
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            iload 2 /* doc */
            invokevirtual org.apache.lucene.search.Weight.matches:(Lorg/apache/lucene/index/LeafReaderContext;I)Lorg/apache/lucene/search/Matches;
            areturn
        end local 2 // int doc
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    1     1  context  Lorg/apache/lucene/index/LeafReaderContext;
            0    1     2      doc  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  
      doc      

  private boolean cacheEntryHasReasonableWorstCaseSize(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // int maxDoc
         0: .line 688
            iload 1 /* maxDoc */
            bipush 8
            idiv
            i2l
            lstore 2 /* worstCaseRamUsage */
        start local 2 // long worstCaseRamUsage
         1: .line 689
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.maxRamBytesUsed:J
            lstore 4 /* totalRamAvailable */
        start local 4 // long totalRamAvailable
         2: .line 695
            lload 2 /* worstCaseRamUsage */
            ldc 5
            lmul
            lload 4 /* totalRamAvailable */
            lcmp
            ifge 3
            iconst_1
            ireturn
      StackMap locals: long long
      StackMap stack:
         3: iconst_0
            ireturn
        end local 4 // long totalRamAvailable
        end local 2 // long worstCaseRamUsage
        end local 1 // int maxDoc
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    4     1             maxDoc  I
            1    4     2  worstCaseRamUsage  J
            2    4     4  totalRamAvailable  J
    MethodParameters:
        Name  Flags
      maxDoc  

  private org.apache.lucene.search.DocIdSet cache(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/DocIdSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
         0: .line 699
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.bulkScorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/BulkScorer;
            astore 2 /* scorer */
        start local 2 // org.apache.lucene.search.BulkScorer scorer
         1: .line 700
            aload 2 /* scorer */
            ifnonnull 3
         2: .line 701
            getstatic org.apache.lucene.search.DocIdSet.EMPTY:Lorg/apache/lucene/search/DocIdSet;
            areturn
         3: .line 703
      StackMap locals: org.apache.lucene.search.BulkScorer
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            aload 2 /* scorer */
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            invokevirtual org.apache.lucene.index.LeafReader.maxDoc:()I
            invokevirtual org.apache.lucene.search.LRUQueryCache.cacheImpl:(Lorg/apache/lucene/search/BulkScorer;I)Lorg/apache/lucene/search/DocIdSet;
            areturn
        end local 2 // org.apache.lucene.search.BulkScorer scorer
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    4     1  context  Lorg/apache/lucene/index/LeafReaderContext;
            1    4     2   scorer  Lorg/apache/lucene/search/BulkScorer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  private boolean shouldCache(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
         0: .line 709
            aload 0 /* this */
            aload 1 /* context */
            invokestatic org.apache.lucene.index.ReaderUtil.getTopLevelContext:(Lorg/apache/lucene/index/IndexReaderContext;)Lorg/apache/lucene/index/IndexReaderContext;
            invokevirtual org.apache.lucene.index.IndexReaderContext.reader:()Lorg/apache/lucene/index/IndexReader;
            invokevirtual org.apache.lucene.index.IndexReader.maxDoc:()I
            invokevirtual org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.cacheEntryHasReasonableWorstCaseSize:(I)Z
            ifeq 3
         1: .line 710
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.leavesToCache:Ljava/util/function/Predicate;
            aload 1 /* context */
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 709
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    4     1  context  Lorg/apache/lucene/index/LeafReaderContext;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  public org.apache.lucene.search.ScorerSupplier scorerSupplier(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
         0: .line 715
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.used:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifeq 2
         1: .line 716
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.policy:Lorg/apache/lucene/search/QueryCachingPolicy;
            aload 0 /* this */
            invokevirtual org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.getQuery:()Lorg/apache/lucene/search/Query;
            invokeinterface org.apache.lucene.search.QueryCachingPolicy.onUse:(Lorg/apache/lucene/search/Query;)V
         2: .line 719
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.isCacheable:(Lorg/apache/lucene/index/LeafReaderContext;)Z
            ifne 4
         3: .line 721
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            areturn
         4: .line 726
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.shouldCache:(Lorg/apache/lucene/index/LeafReaderContext;)Z
            ifne 6
         5: .line 727
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            areturn
         6: .line 730
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            invokevirtual org.apache.lucene.index.LeafReader.getCoreCacheHelper:()Lorg/apache/lucene/index/IndexReader$CacheHelper;
            astore 2 /* cacheHelper */
        start local 2 // org.apache.lucene.index.IndexReader$CacheHelper cacheHelper
         7: .line 731
            aload 2 /* cacheHelper */
            ifnonnull 9
         8: .line 733
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            areturn
         9: .line 737
      StackMap locals: org.apache.lucene.index.IndexReader$CacheHelper
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:()Z
            ifne 11
        10: .line 738
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            areturn
        11: .line 743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            invokevirtual org.apache.lucene.search.Weight.getQuery:()Lorg/apache/lucene/search/Query;
            aload 2 /* cacheHelper */
            invokevirtual org.apache.lucene.search.LRUQueryCache.get:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/index/IndexReader$CacheHelper;)Lorg/apache/lucene/search/DocIdSet;
            astore 3 /* docIdSet */
        start local 3 // org.apache.lucene.search.DocIdSet docIdSet
        12: .line 744
            goto 16
        end local 3 // org.apache.lucene.search.DocIdSet docIdSet
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
        14: .line 745
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        15: .line 746
            aload 4
            athrow
        start local 3 // org.apache.lucene.search.DocIdSet docIdSet
        16: .line 745
      StackMap locals: org.apache.lucene.search.DocIdSet
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        17: .line 748
            aload 3 /* docIdSet */
            ifnonnull 26
        18: .line 749
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.policy:Lorg/apache/lucene/search/QueryCachingPolicy;
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            invokevirtual org.apache.lucene.search.Weight.getQuery:()Lorg/apache/lucene/search/Query;
            invokeinterface org.apache.lucene.search.QueryCachingPolicy.shouldCache:(Lorg/apache/lucene/search/Query;)Z
            ifeq 25
        19: .line 750
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            astore 4 /* supplier */
        start local 4 // org.apache.lucene.search.ScorerSupplier supplier
        20: .line 751
            aload 4 /* supplier */
            ifnonnull 23
        21: .line 752
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            invokevirtual org.apache.lucene.search.Weight.getQuery:()Lorg/apache/lucene/search/Query;
            getstatic org.apache.lucene.search.DocIdSet.EMPTY:Lorg/apache/lucene/search/DocIdSet;
            aload 2 /* cacheHelper */
            invokevirtual org.apache.lucene.search.LRUQueryCache.putIfAbsent:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/DocIdSet;Lorg/apache/lucene/index/IndexReader$CacheHelper;)V
        22: .line 753
            aconst_null
            areturn
        23: .line 756
      StackMap locals: org.apache.lucene.search.ScorerSupplier
      StackMap stack:
            aload 4 /* supplier */
            invokevirtual org.apache.lucene.search.ScorerSupplier.cost:()J
            lstore 5 /* cost */
        start local 5 // long cost
        24: .line 757
            new org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight$1
            dup
            aload 0 /* this */
            lload 5 /* cost */
            aload 4 /* supplier */
            aload 1 /* context */
            aload 2 /* cacheHelper */
            invokespecial org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight$1.<init>:(Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;JLorg/apache/lucene/search/ScorerSupplier;Lorg/apache/lucene/index/LeafReaderContext;Lorg/apache/lucene/index/IndexReader$CacheHelper;)V
            areturn
        end local 5 // long cost
        end local 4 // org.apache.lucene.search.ScorerSupplier supplier
        25: .line 783
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            areturn
        26: .line 787
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.$assertionsDisabled:Z
            ifne 27
            aload 3 /* docIdSet */
            ifnonnull 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 788
      StackMap locals:
      StackMap stack:
            aload 3 /* docIdSet */
            getstatic org.apache.lucene.search.DocIdSet.EMPTY:Lorg/apache/lucene/search/DocIdSet;
            if_acmpne 29
        28: .line 789
            aconst_null
            areturn
        29: .line 791
      StackMap locals:
      StackMap stack:
            aload 3 /* docIdSet */
            invokevirtual org.apache.lucene.search.DocIdSet.iterator:()Lorg/apache/lucene/search/DocIdSetIterator;
            astore 4 /* disi */
        start local 4 // org.apache.lucene.search.DocIdSetIterator disi
        30: .line 792
            aload 4 /* disi */
            ifnonnull 32
        31: .line 793
            aconst_null
            areturn
        32: .line 796
      StackMap locals: org.apache.lucene.search.DocIdSetIterator
      StackMap stack:
            new org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight$2
            dup
            aload 0 /* this */
            aload 4 /* disi */
            invokespecial org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight$2.<init>:(Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;Lorg/apache/lucene/search/DocIdSetIterator;)V
            areturn
        end local 4 // org.apache.lucene.search.DocIdSetIterator disi
        end local 3 // org.apache.lucene.search.DocIdSet docIdSet
        end local 2 // org.apache.lucene.index.IndexReader$CacheHelper cacheHelper
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   33     0         this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0   33     1      context  Lorg/apache/lucene/index/LeafReaderContext;
            7   33     2  cacheHelper  Lorg/apache/lucene/index/IndexReader$CacheHelper;
           12   13     3     docIdSet  Lorg/apache/lucene/search/DocIdSet;
           16   33     3     docIdSet  Lorg/apache/lucene/search/DocIdSet;
           20   25     4     supplier  Lorg/apache/lucene/search/ScorerSupplier;
           24   25     5         cost  J
           30   33     4         disi  Lorg/apache/lucene/search/DocIdSetIterator;
      Exception table:
        from    to  target  type
          11    13      13  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  public org.apache.lucene.search.Scorer scorer(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/Scorer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
         0: .line 812
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.scorerSupplier:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/ScorerSupplier;
            astore 2 /* scorerSupplier */
        start local 2 // org.apache.lucene.search.ScorerSupplier scorerSupplier
         1: .line 813
            aload 2 /* scorerSupplier */
            ifnonnull 3
         2: .line 814
            aconst_null
            areturn
         3: .line 816
      StackMap locals: org.apache.lucene.search.ScorerSupplier
      StackMap stack:
            aload 2 /* scorerSupplier */
            ldc 9223372036854775807
            invokevirtual org.apache.lucene.search.ScorerSupplier.get:(J)Lorg/apache/lucene/search/Scorer;
            areturn
        end local 2 // org.apache.lucene.search.ScorerSupplier scorerSupplier
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    4     1         context  Lorg/apache/lucene/index/LeafReaderContext;
            1    4     2  scorerSupplier  Lorg/apache/lucene/search/ScorerSupplier;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  public boolean isCacheable(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext ctx
         0: .line 821
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* ctx */
            invokevirtual org.apache.lucene.search.Weight.isCacheable:(Lorg/apache/lucene/index/LeafReaderContext;)Z
            ireturn
        end local 1 // org.apache.lucene.index.LeafReaderContext ctx
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0    1     1   ctx  Lorg/apache/lucene/index/LeafReaderContext;
    MethodParameters:
      Name  Flags
      ctx   

  public org.apache.lucene.search.BulkScorer bulkScorer(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/BulkScorer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
        start local 1 // org.apache.lucene.index.LeafReaderContext context
         0: .line 826
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.used:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifeq 2
         1: .line 827
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.policy:Lorg/apache/lucene/search/QueryCachingPolicy;
            aload 0 /* this */
            invokevirtual org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.getQuery:()Lorg/apache/lucene/search/Query;
            invokeinterface org.apache.lucene.search.QueryCachingPolicy.onUse:(Lorg/apache/lucene/search/Query;)V
         2: .line 830
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.isCacheable:(Lorg/apache/lucene/index/LeafReaderContext;)Z
            ifne 4
         3: .line 832
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.bulkScorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/BulkScorer;
            areturn
         4: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.shouldCache:(Lorg/apache/lucene/index/LeafReaderContext;)Z
            ifne 6
         5: .line 838
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.bulkScorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/BulkScorer;
            areturn
         6: .line 841
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.apache.lucene.index.LeafReaderContext.reader:()Lorg/apache/lucene/index/LeafReader;
            invokevirtual org.apache.lucene.index.LeafReader.getCoreCacheHelper:()Lorg/apache/lucene/index/IndexReader$CacheHelper;
            astore 2 /* cacheHelper */
        start local 2 // org.apache.lucene.index.IndexReader$CacheHelper cacheHelper
         7: .line 842
            aload 2 /* cacheHelper */
            ifnonnull 9
         8: .line 844
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.bulkScorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/BulkScorer;
            areturn
         9: .line 848
      StackMap locals: org.apache.lucene.index.IndexReader$CacheHelper
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.tryLock:()Z
            ifne 11
        10: .line 849
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.bulkScorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/BulkScorer;
            areturn
        11: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            invokevirtual org.apache.lucene.search.Weight.getQuery:()Lorg/apache/lucene/search/Query;
            aload 2 /* cacheHelper */
            invokevirtual org.apache.lucene.search.LRUQueryCache.get:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/index/IndexReader$CacheHelper;)Lorg/apache/lucene/search/DocIdSet;
            astore 3 /* docIdSet */
        start local 3 // org.apache.lucene.search.DocIdSet docIdSet
        12: .line 855
            goto 16
        end local 3 // org.apache.lucene.search.DocIdSet docIdSet
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 4
        14: .line 856
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        15: .line 857
            aload 4
            athrow
        start local 3 // org.apache.lucene.search.DocIdSet docIdSet
        16: .line 856
      StackMap locals: org.apache.lucene.search.DocIdSet
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            getfield org.apache.lucene.search.LRUQueryCache.lock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        17: .line 859
            aload 3 /* docIdSet */
            ifnonnull 23
        18: .line 860
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.policy:Lorg/apache/lucene/search/QueryCachingPolicy;
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            invokevirtual org.apache.lucene.search.Weight.getQuery:()Lorg/apache/lucene/search/Query;
            invokeinterface org.apache.lucene.search.QueryCachingPolicy.shouldCache:(Lorg/apache/lucene/search/Query;)Z
            ifeq 22
        19: .line 861
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.cache:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/DocIdSet;
            astore 3 /* docIdSet */
        20: .line 862
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            invokevirtual org.apache.lucene.search.Weight.getQuery:()Lorg/apache/lucene/search/Query;
            aload 3 /* docIdSet */
            aload 2 /* cacheHelper */
            invokevirtual org.apache.lucene.search.LRUQueryCache.putIfAbsent:(Lorg/apache/lucene/search/Query;Lorg/apache/lucene/search/DocIdSet;Lorg/apache/lucene/index/IndexReader$CacheHelper;)V
        21: .line 863
            goto 23
        22: .line 864
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.in:Lorg/apache/lucene/search/Weight;
            aload 1 /* context */
            invokevirtual org.apache.lucene.search.Weight.bulkScorer:(Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/search/BulkScorer;
            areturn
        23: .line 868
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.$assertionsDisabled:Z
            ifne 24
            aload 3 /* docIdSet */
            ifnonnull 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 869
      StackMap locals:
      StackMap stack:
            aload 3 /* docIdSet */
            getstatic org.apache.lucene.search.DocIdSet.EMPTY:Lorg/apache/lucene/search/DocIdSet;
            if_acmpne 26
        25: .line 870
            aconst_null
            areturn
        26: .line 872
      StackMap locals:
      StackMap stack:
            aload 3 /* docIdSet */
            invokevirtual org.apache.lucene.search.DocIdSet.iterator:()Lorg/apache/lucene/search/DocIdSetIterator;
            astore 4 /* disi */
        start local 4 // org.apache.lucene.search.DocIdSetIterator disi
        27: .line 873
            aload 4 /* disi */
            ifnonnull 29
        28: .line 874
            aconst_null
            areturn
        29: .line 877
      StackMap locals: org.apache.lucene.search.DocIdSetIterator
      StackMap stack:
            new org.apache.lucene.search.Weight$DefaultBulkScorer
            dup
            new org.apache.lucene.search.ConstantScoreScorer
            dup
            aload 0 /* this */
            fconst_0
            getstatic org.apache.lucene.search.ScoreMode.COMPLETE_NO_SCORES:Lorg/apache/lucene/search/ScoreMode;
            aload 4 /* disi */
            invokespecial org.apache.lucene.search.ConstantScoreScorer.<init>:(Lorg/apache/lucene/search/Weight;FLorg/apache/lucene/search/ScoreMode;Lorg/apache/lucene/search/DocIdSetIterator;)V
            invokespecial org.apache.lucene.search.Weight$DefaultBulkScorer.<init>:(Lorg/apache/lucene/search/Scorer;)V
            areturn
        end local 4 // org.apache.lucene.search.DocIdSetIterator disi
        end local 3 // org.apache.lucene.search.DocIdSet docIdSet
        end local 2 // org.apache.lucene.index.IndexReader$CacheHelper cacheHelper
        end local 1 // org.apache.lucene.index.LeafReaderContext context
        end local 0 // org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;
            0   30     1      context  Lorg/apache/lucene/index/LeafReaderContext;
            7   30     2  cacheHelper  Lorg/apache/lucene/index/IndexReader$CacheHelper;
           12   13     3     docIdSet  Lorg/apache/lucene/search/DocIdSet;
           16   30     3     docIdSet  Lorg/apache/lucene/search/DocIdSet;
           27   30     4         disi  Lorg/apache/lucene/search/DocIdSetIterator;
      Exception table:
        from    to  target  type
          11    13      13  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      context  

  static org.apache.lucene.search.LRUQueryCache access$0(org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight);
    descriptor: (Lorg/apache/lucene/search/LRUQueryCache$CachingWrapperWeight;)Lorg/apache/lucene/search/LRUQueryCache;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 661
            aload 0
            getfield org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.this$0:Lorg/apache/lucene/search/LRUQueryCache;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "LRUQueryCache.java"
NestHost: org.apache.lucene.search.LRUQueryCache
InnerClasses:
  public abstract CacheHelper = org.apache.lucene.index.IndexReader$CacheHelper of org.apache.lucene.index.IndexReader
  private CachingWrapperWeight = org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight of org.apache.lucene.search.LRUQueryCache
  org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight$1
  org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight$2
  protected DefaultBulkScorer = org.apache.lucene.search.Weight$DefaultBulkScorer of org.apache.lucene.search.Weight