public class org.apache.lucene.search.grouping.ValueSourceGroupSelector extends org.apache.lucene.search.grouping.GroupSelector<org.apache.lucene.util.mutable.MutableValue>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.lucene.search.grouping.ValueSourceGroupSelector
  super_class: org.apache.lucene.search.grouping.GroupSelector
{
  private final org.apache.lucene.queries.function.ValueSource valueSource;
    descriptor: Lorg/apache/lucene/queries/function/ValueSource;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<?, ?> context;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<**>;

  private java.util.Set<org.apache.lucene.util.mutable.MutableValue> secondPassGroups;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/apache/lucene/util/mutable/MutableValue;>;

  private org.apache.lucene.queries.function.FunctionValues$ValueFiller filler;
    descriptor: Lorg/apache/lucene/queries/function/FunctionValues$ValueFiller;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.apache.lucene.queries.function.ValueSource, java.util.Map<?, ?>);
    descriptor: (Lorg/apache/lucene/queries/function/ValueSource;Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
        start local 1 // org.apache.lucene.queries.function.ValueSource valueSource
        start local 2 // java.util.Map context
         0: .line 46
            aload 0 /* this */
            invokespecial org.apache.lucene.search.grouping.GroupSelector.<init>:()V
         1: .line 47
            aload 0 /* this */
            aload 1 /* valueSource */
            putfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.valueSource:Lorg/apache/lucene/queries/function/ValueSource;
         2: .line 48
            aload 0 /* this */
            aload 2 /* context */
            putfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.context:Ljava/util/Map;
         3: .line 49
            return
        end local 2 // java.util.Map context
        end local 1 // org.apache.lucene.queries.function.ValueSource valueSource
        end local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/apache/lucene/search/grouping/ValueSourceGroupSelector;
            0    4     1  valueSource  Lorg/apache/lucene/queries/function/ValueSource;
            0    4     2      context  Ljava/util/Map<**>;
    Signature: (Lorg/apache/lucene/queries/function/ValueSource;Ljava/util/Map<**>;)V
    MethodParameters:
             Name  Flags
      valueSource  
      context      

  public void setNextReader(org.apache.lucene.index.LeafReaderContext);
    descriptor: (Lorg/apache/lucene/index/LeafReaderContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
        start local 1 // org.apache.lucene.index.LeafReaderContext readerContext
         0: .line 55
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.valueSource:Lorg/apache/lucene/queries/function/ValueSource;
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.context:Ljava/util/Map;
            aload 1 /* readerContext */
            invokevirtual org.apache.lucene.queries.function.ValueSource.getValues:(Ljava/util/Map;Lorg/apache/lucene/index/LeafReaderContext;)Lorg/apache/lucene/queries/function/FunctionValues;
            astore 2 /* values */
        start local 2 // org.apache.lucene.queries.function.FunctionValues values
         1: .line 56
            aload 0 /* this */
            aload 2 /* values */
            invokevirtual org.apache.lucene.queries.function.FunctionValues.getValueFiller:()Lorg/apache/lucene/queries/function/FunctionValues$ValueFiller;
            putfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.filler:Lorg/apache/lucene/queries/function/FunctionValues$ValueFiller;
         2: .line 57
            return
        end local 2 // org.apache.lucene.queries.function.FunctionValues values
        end local 1 // org.apache.lucene.index.LeafReaderContext readerContext
        end local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/apache/lucene/search/grouping/ValueSourceGroupSelector;
            0    3     1  readerContext  Lorg/apache/lucene/index/LeafReaderContext;
            1    3     2         values  Lorg/apache/lucene/queries/function/FunctionValues;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      readerContext  

  public org.apache.lucene.search.grouping.GroupSelector$State advanceTo(int);
    descriptor: (I)Lorg/apache/lucene/search/grouping/GroupSelector$State;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
        start local 1 // int doc
         0: .line 61
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.filler:Lorg/apache/lucene/queries/function/FunctionValues$ValueFiller;
            iload 1 /* doc */
            invokevirtual org.apache.lucene.queries.function.FunctionValues$ValueFiller.fillValue:(I)V
         1: .line 62
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.secondPassGroups:Ljava/util/Set;
            ifnull 4
         2: .line 63
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.secondPassGroups:Ljava/util/Set;
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.filler:Lorg/apache/lucene/queries/function/FunctionValues$ValueFiller;
            invokevirtual org.apache.lucene.queries.function.FunctionValues$ValueFiller.getValue:()Lorg/apache/lucene/util/mutable/MutableValue;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 64
            getstatic org.apache.lucene.search.grouping.GroupSelector$State.SKIP:Lorg/apache/lucene/search/grouping/GroupSelector$State;
            areturn
         4: .line 66
      StackMap locals:
      StackMap stack:
            getstatic org.apache.lucene.search.grouping.GroupSelector$State.ACCEPT:Lorg/apache/lucene/search/grouping/GroupSelector$State;
            areturn
        end local 1 // int doc
        end local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/lucene/search/grouping/ValueSourceGroupSelector;
            0    5     1   doc  I
    Exceptions:
      throws java.io.IOException
    Signature: (I)Lorg/apache/lucene/search/grouping/GroupSelector$State;
    MethodParameters:
      Name  Flags
      doc   

  public org.apache.lucene.util.mutable.MutableValue currentValue();
    descriptor: ()Lorg/apache/lucene/util/mutable/MutableValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
         0: .line 71
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.filler:Lorg/apache/lucene/queries/function/FunctionValues$ValueFiller;
            invokevirtual org.apache.lucene.queries.function.FunctionValues$ValueFiller.getValue:()Lorg/apache/lucene/util/mutable/MutableValue;
            areturn
        end local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/grouping/ValueSourceGroupSelector;

  public org.apache.lucene.util.mutable.MutableValue copyValue();
    descriptor: ()Lorg/apache/lucene/util/mutable/MutableValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
         0: .line 76
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.filler:Lorg/apache/lucene/queries/function/FunctionValues$ValueFiller;
            invokevirtual org.apache.lucene.queries.function.FunctionValues$ValueFiller.getValue:()Lorg/apache/lucene/util/mutable/MutableValue;
            invokevirtual org.apache.lucene.util.mutable.MutableValue.duplicate:()Lorg/apache/lucene/util/mutable/MutableValue;
            areturn
        end local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/search/grouping/ValueSourceGroupSelector;

  public void setGroups(java.util.Collection<org.apache.lucene.search.grouping.SearchGroup<org.apache.lucene.util.mutable.MutableValue>>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
        start local 1 // java.util.Collection searchGroups
         0: .line 81
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.secondPassGroups:Ljava/util/Set;
         1: .line 82
            aload 1 /* searchGroups */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.apache.lucene.search.grouping.ValueSourceGroupSelector java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.search.grouping.SearchGroup
            astore 2 /* group */
        start local 2 // org.apache.lucene.search.grouping.SearchGroup group
         3: .line 83
            aload 0 /* this */
            getfield org.apache.lucene.search.grouping.ValueSourceGroupSelector.secondPassGroups:Ljava/util/Set;
            aload 2 /* group */
            getfield org.apache.lucene.search.grouping.SearchGroup.groupValue:Ljava/lang/Object;
            checkcast org.apache.lucene.util.mutable.MutableValue
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // org.apache.lucene.search.grouping.SearchGroup group
         4: .line 82
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 85
            return
        end local 1 // java.util.Collection searchGroups
        end local 0 // org.apache.lucene.search.grouping.ValueSourceGroupSelector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/apache/lucene/search/grouping/ValueSourceGroupSelector;
            0    6     1  searchGroups  Ljava/util/Collection<Lorg/apache/lucene/search/grouping/SearchGroup<Lorg/apache/lucene/util/mutable/MutableValue;>;>;
            3    4     2         group  Lorg/apache/lucene/search/grouping/SearchGroup<Lorg/apache/lucene/util/mutable/MutableValue;>;
    Signature: (Ljava/util/Collection<Lorg/apache/lucene/search/grouping/SearchGroup<Lorg/apache/lucene/util/mutable/MutableValue;>;>;)V
    MethodParameters:
              Name  Flags
      searchGroups  

  public java.lang.Object currentValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.lucene.search.grouping.ValueSourceGroupSelector.currentValue:()Lorg/apache/lucene/util/mutable/MutableValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object copyValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.lucene.search.grouping.ValueSourceGroupSelector.copyValue:()Lorg/apache/lucene/util/mutable/MutableValue;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/apache/lucene/search/grouping/GroupSelector<Lorg/apache/lucene/util/mutable/MutableValue;>;
SourceFile: "ValueSourceGroupSelector.java"
InnerClasses:
  public abstract ValueFiller = org.apache.lucene.queries.function.FunctionValues$ValueFiller of org.apache.lucene.queries.function.FunctionValues
  public final State = org.apache.lucene.search.grouping.GroupSelector$State of org.apache.lucene.search.grouping.GroupSelector