public abstract class org.apache.lucene.spatial.prefix.PrefixTreeStrategy extends org.apache.lucene.spatial.SpatialStrategy
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.lucene.spatial.prefix.PrefixTreeStrategy
  super_class: org.apache.lucene.spatial.SpatialStrategy
{
  protected final org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree grid;
    descriptor: Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final java.util.Map<java.lang.String, org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider> provider;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider;>;

  protected int defaultFieldValuesArrayLen;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected double distErrPct;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

  protected boolean pointsOnly;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  public static final org.apache.lucene.document.FieldType FIELD_TYPE;
    descriptor: Lorg/apache/lucene/document/FieldType;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 190
            new org.apache.lucene.document.FieldType
            dup
            invokespecial org.apache.lucene.document.FieldType.<init>:()V
            putstatic org.apache.lucene.spatial.prefix.PrefixTreeStrategy.FIELD_TYPE:Lorg/apache/lucene/document/FieldType;
         1: .line 193
            getstatic org.apache.lucene.spatial.prefix.PrefixTreeStrategy.FIELD_TYPE:Lorg/apache/lucene/document/FieldType;
            iconst_1
            invokevirtual org.apache.lucene.document.FieldType.setTokenized:(Z)V
         2: .line 194
            getstatic org.apache.lucene.spatial.prefix.PrefixTreeStrategy.FIELD_TYPE:Lorg/apache/lucene/document/FieldType;
            iconst_1
            invokevirtual org.apache.lucene.document.FieldType.setOmitNorms:(Z)V
         3: .line 195
            getstatic org.apache.lucene.spatial.prefix.PrefixTreeStrategy.FIELD_TYPE:Lorg/apache/lucene/document/FieldType;
            getstatic org.apache.lucene.index.IndexOptions.DOCS:Lorg/apache/lucene/index/IndexOptions;
            invokevirtual org.apache.lucene.document.FieldType.setIndexOptions:(Lorg/apache/lucene/index/IndexOptions;)V
         4: .line 196
            getstatic org.apache.lucene.spatial.prefix.PrefixTreeStrategy.FIELD_TYPE:Lorg/apache/lucene/document/FieldType;
            invokevirtual org.apache.lucene.document.FieldType.freeze:()V
         5: .line 197
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree, java.lang.String);
    descriptor: (Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree grid
        start local 2 // java.lang.String fieldName
         0: .line 87
            aload 0 /* this */
            aload 1 /* grid */
            invokevirtual org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree.getSpatialContext:()Lorg/locationtech/spatial4j/context/SpatialContext;
            aload 2 /* fieldName */
            invokespecial org.apache.lucene.spatial.SpatialStrategy.<init>:(Lorg/locationtech/spatial4j/context/SpatialContext;Ljava/lang/String;)V
         1: .line 81
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.provider:Ljava/util/Map;
         2: .line 82
            aload 0 /* this */
            iconst_2
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.defaultFieldValuesArrayLen:I
         3: .line 83
            aload 0 /* this */
            ldc 0.025
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.distErrPct:D
         4: .line 84
            aload 0 /* this */
            iconst_0
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.pointsOnly:Z
         5: .line 88
            aload 0 /* this */
            aload 1 /* grid */
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.grid:Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
         6: .line 89
            return
        end local 2 // java.lang.String fieldName
        end local 1 // org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree grid
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    7     1       grid  Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
            0    7     2  fieldName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      grid       
      fieldName  

  public org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree getGrid();
    descriptor: ()Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
         0: .line 92
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.grid:Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
            areturn
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;

  public void setDefaultFieldValuesArrayLen(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // int defaultFieldValuesArrayLen
         0: .line 102
            aload 0 /* this */
            iload 1 /* defaultFieldValuesArrayLen */
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.defaultFieldValuesArrayLen:I
         1: .line 103
            return
        end local 1 // int defaultFieldValuesArrayLen
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    2     1  defaultFieldValuesArrayLen  I
    MethodParameters:
                            Name  Flags
      defaultFieldValuesArrayLen  

  public double getDistErrPct();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
         0: .line 106
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.distErrPct:D
            dreturn
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;

  public void setDistErrPct(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // double distErrPct
         0: .line 121
            aload 0 /* this */
            dload 1 /* distErrPct */
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.distErrPct:D
         1: .line 122
            return
        end local 1 // double distErrPct
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    2     1  distErrPct  D
    MethodParameters:
            Name  Flags
      distErrPct  

  public boolean isPointsOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
         0: .line 125
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.pointsOnly:Z
            ireturn
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;

  public void setPointsOnly(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // boolean pointsOnly
         0: .line 131
            aload 0 /* this */
            iload 1 /* pointsOnly */
            putfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.pointsOnly:Z
         1: .line 132
            return
        end local 1 // boolean pointsOnly
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    2     1  pointsOnly  Z
    MethodParameters:
            Name  Flags
      pointsOnly  

  public org.apache.lucene.document.Field[] createIndexableFields(org.locationtech.spatial4j.shape.Shape);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;)[Lorg/apache/lucene/document/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Shape shape
         0: .line 136
            aload 1 /* shape */
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.distErrPct:D
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.ctx:Lorg/locationtech/spatial4j/context/SpatialContext;
            invokestatic org.apache.lucene.spatial.query.SpatialArgs.calcDistanceFromErrPct:(Lorg/locationtech/spatial4j/shape/Shape;DLorg/locationtech/spatial4j/context/SpatialContext;)D
            dstore 2 /* distErr */
        start local 2 // double distErr
         1: .line 137
            aload 0 /* this */
            aload 1 /* shape */
            dload 2 /* distErr */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.createIndexableFields:(Lorg/locationtech/spatial4j/shape/Shape;D)[Lorg/apache/lucene/document/Field;
            areturn
        end local 2 // double distErr
        end local 1 // org.locationtech.spatial4j.shape.Shape shape
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    2     1    shape  Lorg/locationtech/spatial4j/shape/Shape;
            1    2     2  distErr  D
    MethodParameters:
       Name  Flags
      shape  

  public org.apache.lucene.document.Field[] createIndexableFields(org.locationtech.spatial4j.shape.Shape, double);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;D)[Lorg/apache/lucene/document/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Shape shape
        start local 2 // double distErr
         0: .line 145
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.grid:Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
            dload 2 /* distErr */
            invokevirtual org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree.getLevelForDistance:(D)I
            istore 4 /* detailLevel */
        start local 4 // int detailLevel
         1: .line 146
            aload 0 /* this */
            aload 1 /* shape */
            iload 4 /* detailLevel */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.createIndexableFields:(Lorg/locationtech/spatial4j/shape/Shape;I)[Lorg/apache/lucene/document/Field;
            areturn
        end local 4 // int detailLevel
        end local 2 // double distErr
        end local 1 // org.locationtech.spatial4j.shape.Shape shape
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    2     1        shape  Lorg/locationtech/spatial4j/shape/Shape;
            0    2     2      distErr  D
            1    2     4  detailLevel  I
    MethodParameters:
         Name  Flags
      shape    
      distErr  

  public org.apache.lucene.document.Field[] createIndexableFields(org.locationtech.spatial4j.shape.Shape, int);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;I)[Lorg/apache/lucene/document/Field;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Shape shape
        start local 2 // int detailLevel
         0: .line 151
            aload 0 /* this */
            aload 1 /* shape */
            iload 2 /* detailLevel */
            aconst_null
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.createCellIteratorToIndex:(Lorg/locationtech/spatial4j/shape/Shape;ILjava/util/Iterator;)Ljava/util/Iterator;
            astore 3 /* cells */
        start local 3 // java.util.Iterator cells
         1: .line 152
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.newCellToBytesRefIterator:()Lorg/apache/lucene/spatial/prefix/CellToBytesRefIterator;
            astore 4 /* cellToBytesRefIterator */
        start local 4 // org.apache.lucene.spatial.prefix.CellToBytesRefIterator cellToBytesRefIterator
         2: .line 153
            aload 4 /* cellToBytesRefIterator */
            aload 3 /* cells */
            invokevirtual org.apache.lucene.spatial.prefix.CellToBytesRefIterator.reset:(Ljava/util/Iterator;)V
         3: .line 154
            new org.apache.lucene.spatial.prefix.BytesRefIteratorTokenStream
            dup
            invokespecial org.apache.lucene.spatial.prefix.BytesRefIteratorTokenStream.<init>:()V
            astore 5 /* tokenStream */
        start local 5 // org.apache.lucene.spatial.prefix.BytesRefIteratorTokenStream tokenStream
         4: .line 155
            aload 5 /* tokenStream */
            aload 4 /* cellToBytesRefIterator */
            invokevirtual org.apache.lucene.spatial.prefix.BytesRefIteratorTokenStream.setBytesRefIterator:(Lorg/apache/lucene/util/BytesRefIterator;)Lorg/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream;
            pop
         5: .line 156
            new org.apache.lucene.document.Field
            dup
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.getFieldName:()Ljava/lang/String;
            aload 5 /* tokenStream */
            getstatic org.apache.lucene.spatial.prefix.PrefixTreeStrategy.FIELD_TYPE:Lorg/apache/lucene/document/FieldType;
            invokespecial org.apache.lucene.document.Field.<init>:(Ljava/lang/String;Lorg/apache/lucene/analysis/TokenStream;Lorg/apache/lucene/index/IndexableFieldType;)V
            astore 6 /* field */
        start local 6 // org.apache.lucene.document.Field field
         6: .line 157
            iconst_1
            anewarray org.apache.lucene.document.Field
            dup
            iconst_0
            aload 6 /* field */
            aastore
            areturn
        end local 6 // org.apache.lucene.document.Field field
        end local 5 // org.apache.lucene.spatial.prefix.BytesRefIteratorTokenStream tokenStream
        end local 4 // org.apache.lucene.spatial.prefix.CellToBytesRefIterator cellToBytesRefIterator
        end local 3 // java.util.Iterator cells
        end local 2 // int detailLevel
        end local 1 // org.locationtech.spatial4j.shape.Shape shape
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    7     0                    this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    7     1                   shape  Lorg/locationtech/spatial4j/shape/Shape;
            0    7     2             detailLevel  I
            1    7     3                   cells  Ljava/util/Iterator<Lorg/apache/lucene/spatial/prefix/tree/Cell;>;
            2    7     4  cellToBytesRefIterator  Lorg/apache/lucene/spatial/prefix/CellToBytesRefIterator;
            4    7     5             tokenStream  Lorg/apache/lucene/spatial/prefix/BytesRefIteratorTokenStream;
            6    7     6                   field  Lorg/apache/lucene/document/Field;
    MethodParameters:
             Name  Flags
      shape        
      detailLevel  

  public org.apache.lucene.spatial.prefix.PrefixTreeStrategy$ShapeTokenStream tokenStream();
    descriptor: ()Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy$ShapeTokenStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
         0: .line 174
            new org.apache.lucene.spatial.prefix.PrefixTreeStrategy$ShapeTokenStream
            dup
            aload 0 /* this */
            invokespecial org.apache.lucene.spatial.prefix.PrefixTreeStrategy$ShapeTokenStream.<init>:(Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;)V
            areturn
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;

  protected org.apache.lucene.spatial.prefix.CellToBytesRefIterator newCellToBytesRefIterator();
    descriptor: ()Lorg/apache/lucene/spatial/prefix/CellToBytesRefIterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
         0: .line 179
            new org.apache.lucene.spatial.prefix.CellToBytesRefIterator
            dup
            invokespecial org.apache.lucene.spatial.prefix.CellToBytesRefIterator.<init>:()V
            areturn
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;

  protected java.util.Iterator<org.apache.lucene.spatial.prefix.tree.Cell> createCellIteratorToIndex(org.locationtech.spatial4j.shape.Shape, int, java.util.Iterator<org.apache.lucene.spatial.prefix.tree.Cell>);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;ILjava/util/Iterator;)Ljava/util/Iterator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Shape shape
        start local 2 // int detailLevel
        start local 3 // java.util.Iterator reuse
         0: .line 183
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.pointsOnly:Z
            ifeq 2
            aload 0 /* this */
            aload 1 /* shape */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.isPointShape:(Lorg/locationtech/spatial4j/shape/Shape;)Z
            ifne 2
         1: .line 184
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "pointsOnly is true yet a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* shape */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is given for indexing"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.grid:Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
            aload 1 /* shape */
            iload 2 /* detailLevel */
            invokevirtual org.apache.lucene.spatial.prefix.tree.SpatialPrefixTree.getTreeCellIterator:(Lorg/locationtech/spatial4j/shape/Shape;I)Lorg/apache/lucene/spatial/prefix/tree/CellIterator;
            areturn
        end local 3 // java.util.Iterator reuse
        end local 2 // int detailLevel
        end local 1 // org.locationtech.spatial4j.shape.Shape shape
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    3     1        shape  Lorg/locationtech/spatial4j/shape/Shape;
            0    3     2  detailLevel  I
            0    3     3        reuse  Ljava/util/Iterator<Lorg/apache/lucene/spatial/prefix/tree/Cell;>;
    Signature: (Lorg/locationtech/spatial4j/shape/Shape;ILjava/util/Iterator<Lorg/apache/lucene/spatial/prefix/tree/Cell;>;)Ljava/util/Iterator<Lorg/apache/lucene/spatial/prefix/tree/Cell;>;
    MethodParameters:
             Name  Flags
      shape        
      detailLevel  
      reuse        

  public org.apache.lucene.search.DoubleValuesSource makeDistanceValueSource(org.locationtech.spatial4j.shape.Point, double);
    descriptor: (Lorg/locationtech/spatial4j/shape/Point;D)Lorg/apache/lucene/search/DoubleValuesSource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Point queryPoint
        start local 2 // double multiplier
         0: .line 201
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.provider:Ljava/util/Map;
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.getFieldName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider
            astore 4 /* p */
        start local 4 // org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider p
         1: .line 202
            aload 4 /* p */
            ifnonnull 11
         2: .line 203
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         3: .line 204
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.provider:Ljava/util/Map;
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.getFieldName:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider
            astore 4 /* p */
         4: .line 205
            aload 4 /* p */
            ifnonnull 7
         5: .line 206
            new org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.grid:Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.getFieldName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.defaultFieldValuesArrayLen:I
            invokespecial org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider.<init>:(Lorg/apache/lucene/spatial/prefix/tree/SpatialPrefixTree;Ljava/lang/String;I)V
            astore 4 /* p */
         6: .line 207
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.provider:Ljava/util/Map;
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial.prefix.PrefixTreeStrategy.getFieldName:()Ljava/lang/String;
            aload 4 /* p */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 203
      StackMap locals: org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider org.apache.lucene.spatial.prefix.PrefixTreeStrategy
      StackMap stack:
            aload 5
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 5
            monitorexit
        10: athrow
        11: .line 212
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.spatial.util.ShapeFieldCacheDistanceValueSource
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.ctx:Lorg/locationtech/spatial4j/context/SpatialContext;
            aload 4 /* p */
            aload 1 /* queryPoint */
            dload 2 /* multiplier */
            invokespecial org.apache.lucene.spatial.util.ShapeFieldCacheDistanceValueSource.<init>:(Lorg/locationtech/spatial4j/context/SpatialContext;Lorg/apache/lucene/spatial/util/ShapeFieldCacheProvider;Lorg/locationtech/spatial4j/shape/Point;D)V
            areturn
        end local 4 // org.apache.lucene.spatial.prefix.PointPrefixTreeFieldCacheProvider p
        end local 2 // double multiplier
        end local 1 // org.locationtech.spatial4j.shape.Point queryPoint
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0   12     1  queryPoint  Lorg/locationtech/spatial4j/shape/Point;
            0   12     2  multiplier  D
            1   12     4           p  Lorg/apache/lucene/spatial/prefix/PointPrefixTreeFieldCacheProvider;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    MethodParameters:
            Name  Flags
      queryPoint  
      multiplier  

  public org.apache.lucene.spatial.prefix.HeatmapFacetCounter$Heatmap calcFacets(org.apache.lucene.index.IndexReaderContext, org.apache.lucene.util.Bits, org.locationtech.spatial4j.shape.Shape, int, int);
    descriptor: (Lorg/apache/lucene/index/IndexReaderContext;Lorg/apache/lucene/util/Bits;Lorg/locationtech/spatial4j/shape/Shape;II)Lorg/apache/lucene/spatial/prefix/HeatmapFacetCounter$Heatmap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.apache.lucene.index.IndexReaderContext context
        start local 2 // org.apache.lucene.util.Bits topAcceptDocs
        start local 3 // org.locationtech.spatial4j.shape.Shape inputShape
        start local 4 // int facetLevel
        start local 5 // int maxCells
         0: .line 223
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* topAcceptDocs */
            aload 3 /* inputShape */
            iload 4 /* facetLevel */
            iload 5 /* maxCells */
            invokestatic org.apache.lucene.spatial.prefix.HeatmapFacetCounter.calcFacets:(Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;Lorg/apache/lucene/index/IndexReaderContext;Lorg/apache/lucene/util/Bits;Lorg/locationtech/spatial4j/shape/Shape;II)Lorg/apache/lucene/spatial/prefix/HeatmapFacetCounter$Heatmap;
            areturn
        end local 5 // int maxCells
        end local 4 // int facetLevel
        end local 3 // org.locationtech.spatial4j.shape.Shape inputShape
        end local 2 // org.apache.lucene.util.Bits topAcceptDocs
        end local 1 // org.apache.lucene.index.IndexReaderContext context
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    1     1        context  Lorg/apache/lucene/index/IndexReaderContext;
            0    1     2  topAcceptDocs  Lorg/apache/lucene/util/Bits;
            0    1     3     inputShape  Lorg/locationtech/spatial4j/shape/Shape;
            0    1     4     facetLevel  I
            0    1     5       maxCells  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
               Name  Flags
      context        
      topAcceptDocs  
      inputShape     
      facetLevel     final
      maxCells       

  protected boolean isPointShape(org.locationtech.spatial4j.shape.Shape);
    descriptor: (Lorg/locationtech/spatial4j/shape/Shape;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
        start local 1 // org.locationtech.spatial4j.shape.Shape shape
         0: .line 232
            aload 1 /* shape */
            instanceof org.locationtech.spatial4j.shape.Point
            ireturn
        end local 1 // org.locationtech.spatial4j.shape.Shape shape
        end local 0 // org.apache.lucene.spatial.prefix.PrefixTreeStrategy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;
            0    1     1  shape  Lorg/locationtech/spatial4j/shape/Shape;
    MethodParameters:
       Name  Flags
      shape  

  static org.locationtech.spatial4j.context.SpatialContext access$0(org.apache.lucene.spatial.prefix.PrefixTreeStrategy);
    descriptor: (Lorg/apache/lucene/spatial/prefix/PrefixTreeStrategy;)Lorg/locationtech/spatial4j/context/SpatialContext;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 79
            aload 0
            getfield org.apache.lucene.spatial.prefix.PrefixTreeStrategy.ctx:Lorg/locationtech/spatial4j/context/SpatialContext;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "PrefixTreeStrategy.java"
NestMembers:
  org.apache.lucene.spatial.prefix.PrefixTreeStrategy$ShapeTokenStream
InnerClasses:
  public Heatmap = org.apache.lucene.spatial.prefix.HeatmapFacetCounter$Heatmap of org.apache.lucene.spatial.prefix.HeatmapFacetCounter
  public ShapeTokenStream = org.apache.lucene.spatial.prefix.PrefixTreeStrategy$ShapeTokenStream of org.apache.lucene.spatial.prefix.PrefixTreeStrategy