class org.apache.lucene.spatial3d.geom.GeoComplexPolygon extends org.apache.lucene.spatial3d.geom.GeoBasePolygon
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  super_class: org.apache.lucene.spatial3d.geom.GeoBasePolygon
{
  private final org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree xTree;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree yTree;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree zTree;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<java.util.List<org.apache.lucene.spatial3d.geom.GeoPoint>> pointsList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;>;

  private final boolean testPoint1InSet;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.GeoPoint testPoint1;
    descriptor: Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedYPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedYAbovePlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedYBelowPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedXPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedXAbovePlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedXBelowPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedZPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedZAbovePlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.Plane testPoint1FixedZBelowPlane;
    descriptor: Lorg/apache/lucene/spatial3d/geom/Plane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.GeoPoint[] edgePoints;
    descriptor: [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[] shapeStartEdges;
    descriptor: [Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final double NEAR_EDGE_CUTOFF;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1.0E-8

  private static final double[] halfProportions;
    descriptor: [D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final double DELTA_DISTANCE;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-12

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

  private static final double OFF_PLANE_AMOUNT;
    descriptor: D
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1.0E-13

  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=5, locals=0, args_size=0
         0: .line 40
            ldc Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            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.spatial3d.geom.GeoComplexPolygon.$assertionsDisabled:Z
         3: .line 594
            iconst_1
            newarray 7
            dup
            iconst_0
            ldc 0.5
            dastore
            putstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.halfProportions:[D
         4: .line 1737
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.lucene.spatial3d.geom.PlanetModel, java.util.List<java.util.List<org.apache.lucene.spatial3d.geom.GeoPoint>>, org.apache.lucene.spatial3d.geom.GeoPoint, );
    descriptor: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/util/List;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=15, args_size=5
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        start local 2 // java.util.List pointsList
        start local 3 // org.apache.lucene.spatial3d.geom.GeoPoint testPoint
        start local 4 // boolean testPointInSet
         0: .line 78
            aload 0 /* this */
            aload 1 /* planetModel */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBasePolygon.<init>:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;)V
         1: .line 80
            getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.$assertionsDisabled:Z
            ifne 2
            aload 1 /* planetModel */
            aload 3 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 3 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 3 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.pointOnSurface:(DDD)Z
            ifne 2
            new java.lang.AssertionError
            dup
            ldc "Test point is not on the ellipsoid surface"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 82
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.PlanetModel java.util.List org.apache.lucene.spatial3d.geom.GeoPoint int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* pointsList */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.pointsList:Ljava/util/List;
         3: .line 85
            aload 0 /* this */
            aload 2 /* pointsList */
            invokeinterface java.util.List.size:()I
            anewarray org.apache.lucene.spatial3d.geom.GeoPoint
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.edgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
         4: .line 86
            aload 0 /* this */
            aload 2 /* pointsList */
            invokeinterface java.util.List.size:()I
            anewarray org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.shapeStartEdges:[Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
         5: .line 87
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* allEdges */
        start local 5 // java.util.ArrayList allEdges
         6: .line 88
            iconst_0
            istore 6 /* edgePointIndex */
        start local 6 // int edgePointIndex
         7: .line 89
            aload 2 /* pointsList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 33
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.PlanetModel java.util.List org.apache.lucene.spatial3d.geom.GeoPoint int java.util.ArrayList int top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* shapePoints */
        start local 7 // java.util.List shapePoints
         9: .line 90
            aload 5 /* allEdges */
            aload 5 /* allEdges */
            invokevirtual java.util.ArrayList.size:()I
            aload 7 /* shapePoints */
            invokeinterface java.util.List.size:()I
            iadd
            invokevirtual java.util.ArrayList.ensureCapacity:(I)V
        10: .line 91
            aload 7 /* shapePoints */
            aload 7 /* shapePoints */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoPoint
            astore 9 /* lastGeoPoint */
        start local 9 // org.apache.lucene.spatial3d.geom.GeoPoint lastGeoPoint
        11: .line 92
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.edgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            iload 6 /* edgePointIndex */
            aload 9 /* lastGeoPoint */
            aastore
        12: .line 93
            aconst_null
            astore 10 /* lastEdge */
        start local 10 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge lastEdge
        13: .line 94
            aconst_null
            astore 11 /* firstEdge */
        start local 11 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge firstEdge
        14: .line 95
            aload 7 /* shapePoints */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 28
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.PlanetModel java.util.List org.apache.lucene.spatial3d.geom.GeoPoint int java.util.ArrayList int java.util.List java.util.Iterator org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge top java.util.Iterator
      StackMap stack:
        15: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoPoint
            astore 12 /* thisGeoPoint */
        start local 12 // org.apache.lucene.spatial3d.geom.GeoPoint thisGeoPoint
        16: .line 96
            getstatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.$assertionsDisabled:Z
            ifne 17
            aload 1 /* planetModel */
            aload 12 /* thisGeoPoint */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.pointOnSurface:(Lorg/apache/lucene/spatial3d/geom/Vector;)Z
            ifne 17
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Polygon edge point must be on surface; "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* thisGeoPoint */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        17: .line 97
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.PlanetModel java.util.List org.apache.lucene.spatial3d.geom.GeoPoint int java.util.ArrayList int java.util.List java.util.Iterator org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.GeoPoint java.util.Iterator
      StackMap stack:
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
            dup
            aload 1 /* planetModel */
            aload 9 /* lastGeoPoint */
            aload 12 /* thisGeoPoint */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.<init>:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
            astore 14 /* edge */
        start local 14 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge edge
        18: .line 98
            aload 14 /* edge */
            aload 3 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 3 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 3 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.isWithin:(DDD)Z
            ifeq 20
        19: .line 99
            new java.lang.IllegalArgumentException
            dup
            ldc "Test point is on polygon edge: not allowed"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 101
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
      StackMap stack:
            aload 5 /* allEdges */
            aload 14 /* edge */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 103
            aload 11 /* firstEdge */
            ifnonnull 23
        22: .line 104
            aload 14 /* edge */
            astore 11 /* firstEdge */
        23: .line 106
      StackMap locals:
      StackMap stack:
            aload 10 /* lastEdge */
            ifnull 26
        24: .line 107
            aload 10 /* lastEdge */
            aload 14 /* edge */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.next:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
        25: .line 108
            aload 14 /* edge */
            aload 10 /* lastEdge */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.previous:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
        26: .line 110
      StackMap locals:
      StackMap stack:
            aload 14 /* edge */
            astore 10 /* lastEdge */
        27: .line 111
            aload 12 /* thisGeoPoint */
            astore 9 /* lastGeoPoint */
        end local 14 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge edge
        end local 12 // org.apache.lucene.spatial3d.geom.GeoPoint thisGeoPoint
        28: .line 95
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.PlanetModel java.util.List org.apache.lucene.spatial3d.geom.GeoPoint int java.util.ArrayList int java.util.List java.util.Iterator org.apache.lucene.spatial3d.geom.GeoPoint org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge top java.util.Iterator
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        29: .line 113
            aload 11 /* firstEdge */
            aload 10 /* lastEdge */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.previous:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
        30: .line 114
            aload 10 /* lastEdge */
            aload 11 /* firstEdge */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.next:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
        31: .line 115
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.shapeStartEdges:[Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            iload 6 /* edgePointIndex */
            aload 11 /* firstEdge */
            aastore
        32: .line 116
            iinc 6 /* edgePointIndex */ 1
        end local 11 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge firstEdge
        end local 10 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge lastEdge
        end local 9 // org.apache.lucene.spatial3d.geom.GeoPoint lastGeoPoint
        end local 7 // java.util.List shapePoints
        33: .line 89
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.PlanetModel java.util.List org.apache.lucene.spatial3d.geom.GeoPoint int java.util.ArrayList int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        34: .line 119
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$XTree
            dup
            aload 5 /* allEdges */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$XTree.<init>:(Ljava/util/List;)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
        35: .line 120
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$YTree
            dup
            aload 5 /* allEdges */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$YTree.<init>:(Ljava/util/List;)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
        36: .line 121
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$ZTree
            dup
            aload 5 /* allEdges */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$ZTree.<init>:(Ljava/util/List;)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
        37: .line 124
            aload 0 /* this */
            aload 3 /* testPoint */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
        38: .line 127
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            dconst_0
            dconst_1
            dconst_0
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dneg
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(DDDD)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        39: .line 128
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            dconst_1
            dconst_0
            dconst_0
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dneg
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(DDDD)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        40: .line 129
            aload 0 /* this */
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            dconst_0
            dconst_0
            dconst_1
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dneg
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(DDDD)V
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        41: .line 131
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 7 /* testPoint1FixedYAbovePlane */
        start local 7 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedYAbovePlane
        42: .line 135
            aload 7 /* testPoint1FixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumYValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 43
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumYValue:()D
            aload 7 /* testPoint1FixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 44
        43: .line 136
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.PlanetModel java.util.List org.apache.lucene.spatial3d.geom.GeoPoint int java.util.ArrayList int org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 7 /* testPoint1FixedYAbovePlane */
        44: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* testPoint1FixedYAbovePlane */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        45: .line 140
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 8 /* testPoint1FixedYBelowPlane */
        start local 8 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedYBelowPlane
        46: .line 141
            aload 8 /* testPoint1FixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumYValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 47
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumYValue:()D
            aload 8 /* testPoint1FixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 48
        47: .line 142
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 8 /* testPoint1FixedYBelowPlane */
        48: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* testPoint1FixedYBelowPlane */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        49: .line 146
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 9 /* testPoint1FixedXAbovePlane */
        start local 9 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedXAbovePlane
        50: .line 147
            aload 9 /* testPoint1FixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumXValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 51
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumXValue:()D
            aload 9 /* testPoint1FixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 52
        51: .line 148
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 9 /* testPoint1FixedXAbovePlane */
        52: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 9 /* testPoint1FixedXAbovePlane */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        53: .line 152
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 10 /* testPoint1FixedXBelowPlane */
        start local 10 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedXBelowPlane
        54: .line 153
            aload 10 /* testPoint1FixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumXValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 55
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumXValue:()D
            aload 10 /* testPoint1FixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 56
        55: .line 154
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 10 /* testPoint1FixedXBelowPlane */
        56: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 10 /* testPoint1FixedXBelowPlane */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        57: .line 158
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 11 /* testPoint1FixedZAbovePlane */
        start local 11 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedZAbovePlane
        58: .line 159
            aload 11 /* testPoint1FixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumZValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 59
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumZValue:()D
            aload 11 /* testPoint1FixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 60
        59: .line 160
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 11 /* testPoint1FixedZAbovePlane */
        60: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* testPoint1FixedZAbovePlane */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        61: .line 164
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 12 /* testPoint1FixedZBelowPlane */
        start local 12 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedZBelowPlane
        62: .line 165
            aload 12 /* testPoint1FixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumZValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 63
            aload 1 /* planetModel */
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumZValue:()D
            aload 12 /* testPoint1FixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 64
        63: .line 166
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 12 /* testPoint1FixedZBelowPlane */
        64: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 12 /* testPoint1FixedZBelowPlane */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
        65: .line 171
            aload 0 /* this */
            iload 4 /* testPointInSet */
            putfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1InSet:Z
        66: .line 172
            return
        end local 12 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedZBelowPlane
        end local 11 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedZAbovePlane
        end local 10 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedXBelowPlane
        end local 9 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedXAbovePlane
        end local 8 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedYBelowPlane
        end local 7 // org.apache.lucene.spatial3d.geom.Plane testPoint1FixedYAbovePlane
        end local 6 // int edgePointIndex
        end local 5 // java.util.ArrayList allEdges
        end local 4 // boolean testPointInSet
        end local 3 // org.apache.lucene.spatial3d.geom.GeoPoint testPoint
        end local 2 // java.util.List pointsList
        end local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   67     0                        this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0   67     1                 planetModel  Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            0   67     2                  pointsList  Ljava/util/List<Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;>;
            0   67     3                   testPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0   67     4              testPointInSet  Z
            6   67     5                    allEdges  Ljava/util/ArrayList<Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;>;
            7   67     6              edgePointIndex  I
            9   33     7                 shapePoints  Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;
           11   33     9                lastGeoPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           13   33    10                    lastEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
           14   33    11                   firstEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
           16   28    12                thisGeoPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           18   28    14                        edge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
           42   67     7  testPoint1FixedYAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           46   67     8  testPoint1FixedYBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           50   67     9  testPoint1FixedXAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           54   67    10  testPoint1FixedXBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           58   67    11  testPoint1FixedZAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           62   67    12  testPoint1FixedZBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
    Signature: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/util/List<Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;>;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Z)V
    MethodParameters:
                Name  Flags
      planetModel     final
      pointsList      final
      testPoint       final
      testPointInSet  final

  public void <init>(org.apache.lucene.spatial3d.geom.PlanetModel, java.io.InputStream);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        start local 2 // java.io.InputStream inputStream
         0: .line 180
            aload 0 /* this */
            aload 1 /* planetModel */
         1: .line 181
            aload 1 /* planetModel */
            aload 2 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.readPointsList:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/io/InputStream;)Ljava/util/List;
         2: .line 182
            new org.apache.lucene.spatial3d.geom.GeoPoint
            dup
            aload 1 /* planetModel */
            aload 2 /* inputStream */
            invokespecial org.apache.lucene.spatial3d.geom.GeoPoint.<init>:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/io/InputStream;)V
         3: .line 183
            aload 2 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.readBoolean:(Ljava/io/InputStream;)Z
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon.<init>:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/util/List;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Z)V
         4: .line 184
            return
        end local 2 // java.io.InputStream inputStream
        end local 1 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0    5     1  planetModel  Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            0    5     2  inputStream  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      planetModel  final
      inputStream  final

  private static java.util.List<java.util.List<org.apache.lucene.spatial3d.geom.GeoPoint>> readPointsList(org.apache.lucene.spatial3d.geom.PlanetModel, java.io.InputStream);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/io/InputStream;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
        start local 1 // java.io.InputStream inputStream
         0: .line 187
            aload 1 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.readInt:(Ljava/io/InputStream;)I
            istore 2 /* count */
        start local 2 // int count
         1: .line 188
            new java.util.ArrayList
            dup
            iload 2 /* count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* array */
        start local 3 // java.util.List array
         2: .line 189
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 190
      StackMap locals: int java.util.List int
      StackMap stack:
            aload 3 /* array */
            aload 0 /* planetModel */
            aload 1 /* inputStream */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.readPointArray:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/io/InputStream;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 189
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 4 // int i
         7: .line 192
            aload 3 /* array */
            areturn
        end local 3 // java.util.List array
        end local 2 // int count
        end local 1 // java.io.InputStream inputStream
        end local 0 // org.apache.lucene.spatial3d.geom.PlanetModel planetModel
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0  planetModel  Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            0    8     1  inputStream  Ljava/io/InputStream;
            1    8     2        count  I
            2    8     3        array  Ljava/util/List<Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;>;
            3    7     4            i  I
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/lucene/spatial3d/geom/PlanetModel;Ljava/io/InputStream;)Ljava/util/List<Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;>;
    MethodParameters:
             Name  Flags
      planetModel  final
      inputStream  final

  public void write(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // java.io.OutputStream outputStream
         0: .line 197
            aload 1 /* outputStream */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.pointsList:Ljava/util/List;
            invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.writePointsList:(Ljava/io/OutputStream;Ljava/util/List;)V
         1: .line 198
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 1 /* outputStream */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.write:(Ljava/io/OutputStream;)V
         2: .line 199
            aload 1 /* outputStream */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1InSet:Z
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.writeBoolean:(Ljava/io/OutputStream;Z)V
         3: .line 200
            return
        end local 1 // java.io.OutputStream outputStream
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0    4     1  outputStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
              Name  Flags
      outputStream  final

  private static void writePointsList(java.io.OutputStream, java.util.List<java.util.List<org.apache.lucene.spatial3d.geom.GeoPoint>>);
    descriptor: (Ljava/io/OutputStream;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.io.OutputStream outputStream
        start local 1 // java.util.List pointsList
         0: .line 203
            aload 0 /* outputStream */
            aload 1 /* pointsList */
            invokeinterface java.util.List.size:()I
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.writeInt:(Ljava/io/OutputStream;I)V
         1: .line 204
            aload 1 /* pointsList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: java.io.OutputStream java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* points */
        start local 2 // java.util.List points
         3: .line 205
            aload 0 /* outputStream */
            aload 2 /* points */
            invokestatic org.apache.lucene.spatial3d.geom.SerializableObject.writePointArray:(Ljava/io/OutputStream;Ljava/util/List;)V
        end local 2 // java.util.List points
         4: .line 204
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 207
            return
        end local 1 // java.util.List pointsList
        end local 0 // java.io.OutputStream outputStream
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0  outputStream  Ljava/io/OutputStream;
            0    6     1    pointsList  Ljava/util/List<Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;>;
            3    4     2        points  Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/OutputStream;Ljava/util/List<Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoPoint;>;>;)V
    MethodParameters:
              Name  Flags
      outputStream  final
      pointsList    final

  public boolean isWithin(double, double, double);
    descriptor: (DDD)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=18, locals=7, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // double x
        start local 3 // double y
        start local 5 // double z
         0: .line 212
            aload 0 /* this */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
         1: .line 213
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
         2: .line 214
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1InSet:Z
         3: .line 215
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedXBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
         4: .line 216
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedYBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
         5: .line 217
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZAbovePlane:Lorg/apache/lucene/spatial3d/geom/Plane;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1FixedZBelowPlane:Lorg/apache/lucene/spatial3d/geom/Plane;
         6: .line 212
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon.isInSet:(DDDLorg/apache/lucene/spatial3d/geom/GeoPoint;ZLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;)Z
            ireturn
        end local 5 // double z
        end local 3 // double y
        end local 1 // double x
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0    7     1     x  D
            0    7     3     y  D
            0    7     5     z  D
    MethodParameters:
      Name  Flags
      x     final
      y     final
      z     final

  private boolean isInSet(double, double, double, org.apache.lucene.spatial3d.geom.GeoPoint, boolean, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane);
    descriptor: (DDDLorg/apache/lucene/spatial3d/geom/GeoPoint;ZLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=19, locals=47, args_size=15
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // double x
        start local 3 // double y
        start local 5 // double z
        start local 7 // org.apache.lucene.spatial3d.geom.GeoPoint testPoint
        start local 8 // boolean testPointInSet
        start local 9 // org.apache.lucene.spatial3d.geom.Plane testPointFixedXPlane
        start local 10 // org.apache.lucene.spatial3d.geom.Plane testPointFixedXAbovePlane
        start local 11 // org.apache.lucene.spatial3d.geom.Plane testPointFixedXBelowPlane
        start local 12 // org.apache.lucene.spatial3d.geom.Plane testPointFixedYPlane
        start local 13 // org.apache.lucene.spatial3d.geom.Plane testPointFixedYAbovePlane
        start local 14 // org.apache.lucene.spatial3d.geom.Plane testPointFixedYBelowPlane
        start local 15 // org.apache.lucene.spatial3d.geom.Plane testPointFixedZPlane
        start local 16 // org.apache.lucene.spatial3d.geom.Plane testPointFixedZAbovePlane
        start local 17 // org.apache.lucene.spatial3d.geom.Plane testPointFixedZBelowPlane
         0: .line 232
            aload 7 /* testPoint */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.isNumericallyIdentical:(DDD)Z
            ifeq 2
         1: .line 233
            iload 8 /* testPointInSet */
            ireturn
         2: .line 237
      StackMap locals:
      StackMap stack:
            aload 13 /* testPointFixedYAbovePlane */
            ifnull 9
            aload 14 /* testPointFixedYBelowPlane */
            ifnull 9
            aload 12 /* testPointFixedYPlane */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(DDD)Z
            ifeq 9
         3: .line 240
            aload 0 /* this */
            aload 7 /* testPoint */
            aload 12 /* testPointFixedYPlane */
            aload 13 /* testPointFixedYAbovePlane */
            aload 14 /* testPointFixedYBelowPlane */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon.createLinearCrossingEdgeIterator:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;DDD)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$CountingEdgeIterator;
            astore 18 /* crossingEdgeIterator */
        start local 18 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator crossingEdgeIterator
         4: .line 242
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 18 /* crossingEdgeIterator */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;D)Z
            pop
         5: .line 243
            aload 18 /* crossingEdgeIterator */
            invokeinterface org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator.isOnEdge:()Z
            ifne 8
            aload 18 /* crossingEdgeIterator */
            invokeinterface org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator.getCrossingCount:()I
            iconst_1
            iand
            ifne 6
            iload 8 /* testPointInSet */
            ifne 8
            goto 7
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator
      StackMap stack:
         6: iload 8 /* testPointInSet */
            ifeq 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_1
            ireturn
        end local 18 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator crossingEdgeIterator
         9: .line 244
      StackMap locals:
      StackMap stack:
            aload 10 /* testPointFixedXAbovePlane */
            ifnull 16
            aload 11 /* testPointFixedXBelowPlane */
            ifnull 16
            aload 9 /* testPointFixedXPlane */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(DDD)Z
            ifeq 16
        10: .line 247
            aload 0 /* this */
            aload 7 /* testPoint */
            aload 9 /* testPointFixedXPlane */
            aload 10 /* testPointFixedXAbovePlane */
            aload 11 /* testPointFixedXBelowPlane */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon.createLinearCrossingEdgeIterator:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;DDD)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$CountingEdgeIterator;
            astore 18 /* crossingEdgeIterator */
        start local 18 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator crossingEdgeIterator
        11: .line 249
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 18 /* crossingEdgeIterator */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;D)Z
            pop
        12: .line 250
            aload 18 /* crossingEdgeIterator */
            invokeinterface org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator.isOnEdge:()Z
            ifne 15
            aload 18 /* crossingEdgeIterator */
            invokeinterface org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator.getCrossingCount:()I
            iconst_1
            iand
            ifne 13
            iload 8 /* testPointInSet */
            ifne 15
            goto 14
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator
      StackMap stack:
        13: iload 8 /* testPointInSet */
            ifeq 15
      StackMap locals:
      StackMap stack:
        14: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        15: iconst_1
            ireturn
        end local 18 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator crossingEdgeIterator
        16: .line 251
      StackMap locals:
      StackMap stack:
            aload 16 /* testPointFixedZAbovePlane */
            ifnull 23
            aload 17 /* testPointFixedZBelowPlane */
            ifnull 23
            aload 15 /* testPointFixedZPlane */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluateIsZero:(DDD)Z
            ifeq 23
        17: .line 253
            aload 0 /* this */
            aload 7 /* testPoint */
            aload 15 /* testPointFixedZPlane */
            aload 16 /* testPointFixedZAbovePlane */
            aload 17 /* testPointFixedZBelowPlane */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon.createLinearCrossingEdgeIterator:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;DDD)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$CountingEdgeIterator;
            astore 18 /* crossingEdgeIterator */
        start local 18 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator crossingEdgeIterator
        18: .line 255
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 18 /* crossingEdgeIterator */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;D)Z
            pop
        19: .line 256
            aload 18 /* crossingEdgeIterator */
            invokeinterface org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator.isOnEdge:()Z
            ifne 22
            aload 18 /* crossingEdgeIterator */
            invokeinterface org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator.getCrossingCount:()I
            iconst_1
            iand
            ifne 20
            iload 8 /* testPointInSet */
            ifne 22
            goto 21
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator
      StackMap stack:
        20: iload 8 /* testPointInSet */
            ifeq 22
      StackMap locals:
      StackMap stack:
        21: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        22: iconst_1
            ireturn
        end local 18 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator crossingEdgeIterator
        23: .line 263
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            dconst_1
            dconst_0
            dconst_0
            dload 1 /* x */
            dneg
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(DDDD)V
            astore 18 /* travelPlaneFixedX */
        start local 18 // org.apache.lucene.spatial3d.geom.Plane travelPlaneFixedX
        24: .line 264
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            dconst_0
            dconst_1
            dconst_0
            dload 3 /* y */
            dneg
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(DDDD)V
            astore 19 /* travelPlaneFixedY */
        start local 19 // org.apache.lucene.spatial3d.geom.Plane travelPlaneFixedY
        25: .line 265
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            dconst_0
            dconst_0
            dconst_1
            dload 5 /* z */
            dneg
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(DDDD)V
            astore 20 /* travelPlaneFixedZ */
        start local 20 // org.apache.lucene.spatial3d.geom.Plane travelPlaneFixedZ
        26: .line 267
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 19 /* travelPlaneFixedY */
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 21 /* fixedYAbovePlane */
        start local 21 // org.apache.lucene.spatial3d.geom.Plane fixedYAbovePlane
        27: .line 268
            aload 21 /* fixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumYValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 28
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumYValue:()D
            aload 21 /* fixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 29
        28: .line 269
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 21 /* fixedYAbovePlane */
        29: .line 272
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 19 /* travelPlaneFixedY */
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 22 /* fixedYBelowPlane */
        start local 22 // org.apache.lucene.spatial3d.geom.Plane fixedYBelowPlane
        30: .line 273
            aload 22 /* fixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumYValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 31
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumYValue:()D
            aload 22 /* fixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 32
        31: .line 274
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 22 /* fixedYBelowPlane */
        32: .line 277
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 18 /* travelPlaneFixedX */
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 23 /* fixedXAbovePlane */
        start local 23 // org.apache.lucene.spatial3d.geom.Plane fixedXAbovePlane
        33: .line 278
            aload 23 /* fixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumXValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 34
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumXValue:()D
            aload 23 /* fixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 35
        34: .line 279
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 23 /* fixedXAbovePlane */
        35: .line 282
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 18 /* travelPlaneFixedX */
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 24 /* fixedXBelowPlane */
        start local 24 // org.apache.lucene.spatial3d.geom.Plane fixedXBelowPlane
        36: .line 283
            aload 24 /* fixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumXValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 37
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumXValue:()D
            aload 24 /* fixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 38
        37: .line 284
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 24 /* fixedXBelowPlane */
        38: .line 287
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 20 /* travelPlaneFixedZ */
            iconst_1
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 25 /* fixedZAbovePlane */
        start local 25 // org.apache.lucene.spatial3d.geom.Plane fixedZAbovePlane
        39: .line 288
            aload 25 /* fixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumZValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 40
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumZValue:()D
            aload 25 /* fixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 41
        40: .line 289
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 25 /* fixedZAbovePlane */
        41: .line 292
      StackMap locals:
      StackMap stack:
            new org.apache.lucene.spatial3d.geom.Plane
            dup
            aload 20 /* travelPlaneFixedZ */
            iconst_0
            invokespecial org.apache.lucene.spatial3d.geom.Plane.<init>:(Lorg/apache/lucene/spatial3d/geom/Plane;Z)V
            astore 26 /* fixedZBelowPlane */
        start local 26 // org.apache.lucene.spatial3d.geom.Plane fixedZBelowPlane
        42: .line 293
            aload 26 /* fixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dneg
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMaximumZValue:()D
            dsub
            ldc -1.0E-8
            dcmpl
            ifgt 43
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.getMinimumZValue:()D
            aload 26 /* fixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dadd
            ldc -1.0E-8
            dcmpl
            ifle 44
        43: .line 294
      StackMap locals: org.apache.lucene.spatial3d.geom.Plane
      StackMap stack:
            aconst_null
            astore 26 /* fixedZBelowPlane */
        44: .line 299
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            bipush 12
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 27 /* traversalStrategies */
        start local 27 // java.util.List traversalStrategies
        45: .line 301
            aload 13 /* testPointFixedYAbovePlane */
            ifnull 64
            aload 14 /* testPointFixedYBelowPlane */
            ifnull 64
            aload 23 /* fixedXAbovePlane */
            ifnull 64
            aload 24 /* fixedXBelowPlane */
            ifnull 64
        46: .line 303
            ldc 4.0
            aload 23 /* fixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 23 /* fixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 13 /* testPointFixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 13 /* testPointFixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 28 /* checkAbove */
        start local 28 // double checkAbove
        47: .line 304
            ldc 4.0
            aload 24 /* fixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 24 /* fixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 14 /* testPointFixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 14 /* testPointFixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 30 /* checkBelow */
        start local 30 // double checkBelow
        48: .line 305
            dload 28 /* checkAbove */
            ldc 1.0E-24
            dcmpg
            ifge 64
            dload 30 /* checkBelow */
            ldc 1.0E-24
            dcmpg
            ifge 64
        49: .line 307
            aload 18 /* travelPlaneFixedX */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 12 /* testPointFixedYPlane */
            iconst_0
            anewarray org.apache.lucene.spatial3d.geom.Membership
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 32 /* XIntersectionsY */
        start local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] XIntersectionsY
        50: .line 308
            aload 32 /* XIntersectionsY */
            dup
            astore 36
            arraylength
            istore 35
            iconst_0
            istore 34
            goto 63
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List double double org.apache.lucene.spatial3d.geom.GeoPoint[] top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
        51: aload 36
            iload 34
            aaload
            astore 33 /* p */
        start local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
        52: .line 312
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 37 /* tpDelta1 */
        start local 37 // double tpDelta1
        53: .line 313
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 39 /* tpDelta2 */
        start local 39 // double tpDelta2
        54: .line 314
            dload 3 /* y */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 41 /* cpDelta1 */
        start local 41 // double cpDelta1
        55: .line 315
            dload 5 /* z */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 43 /* cpDelta2 */
        start local 43 // double cpDelta2
        56: .line 316
            dload 37 /* tpDelta1 */
            dload 37 /* tpDelta1 */
            dmul
            dload 39 /* tpDelta2 */
            dload 39 /* tpDelta2 */
            dmul
            dadd
            dload 41 /* cpDelta1 */
            dload 41 /* cpDelta1 */
            dmul
            dadd
            dload 43 /* cpDelta2 */
            dload 43 /* cpDelta2 */
            dmul
            dadd
            dstore 45 /* newDistance */
        start local 45 // double newDistance
        57: .line 319
            aload 27 /* traversalStrategies */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy
            dup
            aload 0 /* this */
            dload 45 /* newDistance */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dload 1 /* x */
        58: .line 320
            aload 12 /* testPointFixedYPlane */
            aload 13 /* testPointFixedYAbovePlane */
            aload 14 /* testPointFixedYBelowPlane */
        59: .line 321
            aload 18 /* travelPlaneFixedX */
            aload 23 /* fixedXAbovePlane */
            aload 24 /* fixedXBelowPlane */
        60: .line 322
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 33 /* p */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;DDDLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
        61: .line 319
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 45 // double newDistance
        end local 43 // double cpDelta2
        end local 41 // double cpDelta1
        end local 39 // double tpDelta2
        end local 37 // double tpDelta1
        end local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
        62: .line 308
            iinc 34 1
      StackMap locals:
      StackMap stack:
        63: iload 34
            iload 35
            if_icmplt 51
        end local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] XIntersectionsY
        end local 30 // double checkBelow
        end local 28 // double checkAbove
        64: .line 326
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List
      StackMap stack:
            aload 16 /* testPointFixedZAbovePlane */
            ifnull 83
            aload 17 /* testPointFixedZBelowPlane */
            ifnull 83
            aload 23 /* fixedXAbovePlane */
            ifnull 83
            aload 24 /* fixedXBelowPlane */
            ifnull 83
        65: .line 328
            ldc 4.0
            aload 23 /* fixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 23 /* fixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 16 /* testPointFixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 16 /* testPointFixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 28 /* checkAbove */
        start local 28 // double checkAbove
        66: .line 329
            ldc 4.0
            aload 24 /* fixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 24 /* fixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 17 /* testPointFixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 17 /* testPointFixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 30 /* checkBelow */
        start local 30 // double checkBelow
        67: .line 330
            dload 28 /* checkAbove */
            ldc 1.0E-24
            dcmpg
            ifge 83
            dload 30 /* checkBelow */
            ldc 1.0E-24
            dcmpg
            ifge 83
        68: .line 332
            aload 18 /* travelPlaneFixedX */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 15 /* testPointFixedZPlane */
            iconst_0
            anewarray org.apache.lucene.spatial3d.geom.Membership
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 32 /* XIntersectionsZ */
        start local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] XIntersectionsZ
        69: .line 333
            aload 32 /* XIntersectionsZ */
            dup
            astore 36
            arraylength
            istore 35
            iconst_0
            istore 34
            goto 82
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List double double org.apache.lucene.spatial3d.geom.GeoPoint[] top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
        70: aload 36
            iload 34
            aaload
            astore 33 /* p */
        start local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
        71: .line 336
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 37 /* tpDelta1 */
        start local 37 // double tpDelta1
        72: .line 337
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 39 /* tpDelta2 */
        start local 39 // double tpDelta2
        73: .line 338
            dload 3 /* y */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 41 /* cpDelta1 */
        start local 41 // double cpDelta1
        74: .line 339
            dload 5 /* z */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 43 /* cpDelta2 */
        start local 43 // double cpDelta2
        75: .line 340
            dload 37 /* tpDelta1 */
            dload 37 /* tpDelta1 */
            dmul
            dload 39 /* tpDelta2 */
            dload 39 /* tpDelta2 */
            dmul
            dadd
            dload 41 /* cpDelta1 */
            dload 41 /* cpDelta1 */
            dmul
            dadd
            dload 43 /* cpDelta2 */
            dload 43 /* cpDelta2 */
            dmul
            dadd
            dstore 45 /* newDistance */
        start local 45 // double newDistance
        76: .line 343
            aload 27 /* traversalStrategies */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy
            dup
            aload 0 /* this */
            dload 45 /* newDistance */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dload 1 /* x */
        77: .line 344
            aload 15 /* testPointFixedZPlane */
            aload 16 /* testPointFixedZAbovePlane */
            aload 17 /* testPointFixedZBelowPlane */
        78: .line 345
            aload 18 /* travelPlaneFixedX */
            aload 23 /* fixedXAbovePlane */
            aload 24 /* fixedXBelowPlane */
        79: .line 346
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 33 /* p */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;DDDLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
        80: .line 343
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 45 // double newDistance
        end local 43 // double cpDelta2
        end local 41 // double cpDelta1
        end local 39 // double tpDelta2
        end local 37 // double tpDelta1
        end local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
        81: .line 333
            iinc 34 1
      StackMap locals:
      StackMap stack:
        82: iload 34
            iload 35
            if_icmplt 70
        end local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] XIntersectionsZ
        end local 30 // double checkBelow
        end local 28 // double checkAbove
        83: .line 350
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List
      StackMap stack:
            aload 10 /* testPointFixedXAbovePlane */
            ifnull 102
            aload 11 /* testPointFixedXBelowPlane */
            ifnull 102
            aload 21 /* fixedYAbovePlane */
            ifnull 102
            aload 22 /* fixedYBelowPlane */
            ifnull 102
        84: .line 352
            ldc 4.0
            aload 10 /* testPointFixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 10 /* testPointFixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 21 /* fixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 21 /* fixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 28 /* checkAbove */
        start local 28 // double checkAbove
        85: .line 353
            ldc 4.0
            aload 11 /* testPointFixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 11 /* testPointFixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 22 /* fixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 22 /* fixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 30 /* checkBelow */
        start local 30 // double checkBelow
        86: .line 354
            dload 28 /* checkAbove */
            ldc 1.0E-24
            dcmpg
            ifge 102
            dload 30 /* checkBelow */
            ldc 1.0E-24
            dcmpg
            ifge 102
        87: .line 356
            aload 19 /* travelPlaneFixedY */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 9 /* testPointFixedXPlane */
            iconst_0
            anewarray org.apache.lucene.spatial3d.geom.Membership
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 32 /* YIntersectionsX */
        start local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] YIntersectionsX
        88: .line 357
            aload 32 /* YIntersectionsX */
            dup
            astore 36
            arraylength
            istore 35
            iconst_0
            istore 34
            goto 101
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List double double org.apache.lucene.spatial3d.geom.GeoPoint[] top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
        89: aload 36
            iload 34
            aaload
            astore 33 /* p */
        start local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
        90: .line 360
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 37 /* tpDelta1 */
        start local 37 // double tpDelta1
        91: .line 361
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 39 /* tpDelta2 */
        start local 39 // double tpDelta2
        92: .line 362
            dload 1 /* x */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 41 /* cpDelta1 */
        start local 41 // double cpDelta1
        93: .line 363
            dload 5 /* z */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 43 /* cpDelta2 */
        start local 43 // double cpDelta2
        94: .line 364
            dload 37 /* tpDelta1 */
            dload 37 /* tpDelta1 */
            dmul
            dload 39 /* tpDelta2 */
            dload 39 /* tpDelta2 */
            dmul
            dadd
            dload 41 /* cpDelta1 */
            dload 41 /* cpDelta1 */
            dmul
            dadd
            dload 43 /* cpDelta2 */
            dload 43 /* cpDelta2 */
            dmul
            dadd
            dstore 45 /* newDistance */
        start local 45 // double newDistance
        95: .line 367
            aload 27 /* traversalStrategies */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy
            dup
            aload 0 /* this */
            dload 45 /* newDistance */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dload 3 /* y */
        96: .line 368
            aload 9 /* testPointFixedXPlane */
            aload 10 /* testPointFixedXAbovePlane */
            aload 11 /* testPointFixedXBelowPlane */
        97: .line 369
            aload 19 /* travelPlaneFixedY */
            aload 21 /* fixedYAbovePlane */
            aload 22 /* fixedYBelowPlane */
        98: .line 370
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 33 /* p */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;DDDLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
        99: .line 367
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 45 // double newDistance
        end local 43 // double cpDelta2
        end local 41 // double cpDelta1
        end local 39 // double tpDelta2
        end local 37 // double tpDelta1
        end local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
       100: .line 357
            iinc 34 1
      StackMap locals:
      StackMap stack:
       101: iload 34
            iload 35
            if_icmplt 89
        end local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] YIntersectionsX
        end local 30 // double checkBelow
        end local 28 // double checkAbove
       102: .line 374
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List
      StackMap stack:
            aload 16 /* testPointFixedZAbovePlane */
            ifnull 121
            aload 17 /* testPointFixedZBelowPlane */
            ifnull 121
            aload 21 /* fixedYAbovePlane */
            ifnull 121
            aload 22 /* fixedYBelowPlane */
            ifnull 121
       103: .line 376
            ldc 4.0
            aload 16 /* testPointFixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 16 /* testPointFixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            aload 21 /* fixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 21 /* fixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 28 /* checkAbove */
        start local 28 // double checkAbove
       104: .line 377
            ldc 4.0
            aload 17 /* testPointFixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 17 /* testPointFixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            aload 22 /* fixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 22 /* fixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 30 /* checkBelow */
        start local 30 // double checkBelow
       105: .line 378
            dload 28 /* checkAbove */
            ldc 1.0E-24
            dcmpg
            ifge 121
            dload 30 /* checkBelow */
            ldc 1.0E-24
            dcmpg
            ifge 121
       106: .line 380
            aload 19 /* travelPlaneFixedY */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 15 /* testPointFixedZPlane */
            iconst_0
            anewarray org.apache.lucene.spatial3d.geom.Membership
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 32 /* YIntersectionsZ */
        start local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] YIntersectionsZ
       107: .line 381
            aload 32 /* YIntersectionsZ */
            dup
            astore 36
            arraylength
            istore 35
            iconst_0
            istore 34
            goto 120
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List double double org.apache.lucene.spatial3d.geom.GeoPoint[] top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
       108: aload 36
            iload 34
            aaload
            astore 33 /* p */
        start local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
       109: .line 384
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 37 /* tpDelta1 */
        start local 37 // double tpDelta1
       110: .line 385
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 39 /* tpDelta2 */
        start local 39 // double tpDelta2
       111: .line 386
            dload 1 /* x */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 41 /* cpDelta1 */
        start local 41 // double cpDelta1
       112: .line 387
            dload 5 /* z */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 43 /* cpDelta2 */
        start local 43 // double cpDelta2
       113: .line 388
            dload 37 /* tpDelta1 */
            dload 37 /* tpDelta1 */
            dmul
            dload 39 /* tpDelta2 */
            dload 39 /* tpDelta2 */
            dmul
            dadd
            dload 41 /* cpDelta1 */
            dload 41 /* cpDelta1 */
            dmul
            dadd
            dload 43 /* cpDelta2 */
            dload 43 /* cpDelta2 */
            dmul
            dadd
            dstore 45 /* newDistance */
        start local 45 // double newDistance
       114: .line 391
            aload 27 /* traversalStrategies */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy
            dup
            aload 0 /* this */
            dload 45 /* newDistance */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dload 3 /* y */
       115: .line 392
            aload 15 /* testPointFixedZPlane */
            aload 16 /* testPointFixedZAbovePlane */
            aload 17 /* testPointFixedZBelowPlane */
       116: .line 393
            aload 19 /* travelPlaneFixedY */
            aload 21 /* fixedYAbovePlane */
            aload 22 /* fixedYBelowPlane */
       117: .line 394
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 33 /* p */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;DDDLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
       118: .line 391
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 45 // double newDistance
        end local 43 // double cpDelta2
        end local 41 // double cpDelta1
        end local 39 // double tpDelta2
        end local 37 // double tpDelta1
        end local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
       119: .line 381
            iinc 34 1
      StackMap locals:
      StackMap stack:
       120: iload 34
            iload 35
            if_icmplt 108
        end local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] YIntersectionsZ
        end local 30 // double checkBelow
        end local 28 // double checkAbove
       121: .line 398
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List
      StackMap stack:
            aload 10 /* testPointFixedXAbovePlane */
            ifnull 140
            aload 11 /* testPointFixedXBelowPlane */
            ifnull 140
            aload 25 /* fixedZAbovePlane */
            ifnull 140
            aload 26 /* fixedZBelowPlane */
            ifnull 140
       122: .line 400
            ldc 4.0
            aload 10 /* testPointFixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 10 /* testPointFixedXAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 25 /* fixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 25 /* fixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 28 /* checkAbove */
        start local 28 // double checkAbove
       123: .line 401
            ldc 4.0
            aload 11 /* testPointFixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 11 /* testPointFixedXBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 26 /* fixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 26 /* fixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 30 /* checkBelow */
        start local 30 // double checkBelow
       124: .line 402
            dload 28 /* checkAbove */
            ldc 1.0E-24
            dcmpg
            ifge 140
            dload 30 /* checkBelow */
            ldc 1.0E-24
            dcmpg
            ifge 140
       125: .line 404
            aload 20 /* travelPlaneFixedZ */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 9 /* testPointFixedXPlane */
            iconst_0
            anewarray org.apache.lucene.spatial3d.geom.Membership
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 32 /* ZIntersectionsX */
        start local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] ZIntersectionsX
       126: .line 405
            aload 32 /* ZIntersectionsX */
            dup
            astore 36
            arraylength
            istore 35
            iconst_0
            istore 34
            goto 139
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List double double org.apache.lucene.spatial3d.geom.GeoPoint[] top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
       127: aload 36
            iload 34
            aaload
            astore 33 /* p */
        start local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
       128: .line 408
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 37 /* tpDelta1 */
        start local 37 // double tpDelta1
       129: .line 409
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 39 /* tpDelta2 */
        start local 39 // double tpDelta2
       130: .line 410
            dload 3 /* y */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 41 /* cpDelta1 */
        start local 41 // double cpDelta1
       131: .line 411
            dload 1 /* x */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 43 /* cpDelta2 */
        start local 43 // double cpDelta2
       132: .line 412
            dload 37 /* tpDelta1 */
            dload 37 /* tpDelta1 */
            dmul
            dload 39 /* tpDelta2 */
            dload 39 /* tpDelta2 */
            dmul
            dadd
            dload 41 /* cpDelta1 */
            dload 41 /* cpDelta1 */
            dmul
            dadd
            dload 43 /* cpDelta2 */
            dload 43 /* cpDelta2 */
            dmul
            dadd
            dstore 45 /* newDistance */
        start local 45 // double newDistance
       133: .line 415
            aload 27 /* traversalStrategies */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy
            dup
            aload 0 /* this */
            dload 45 /* newDistance */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dload 5 /* z */
       134: .line 416
            aload 9 /* testPointFixedXPlane */
            aload 10 /* testPointFixedXAbovePlane */
            aload 11 /* testPointFixedXBelowPlane */
       135: .line 417
            aload 20 /* travelPlaneFixedZ */
            aload 25 /* fixedZAbovePlane */
            aload 26 /* fixedZBelowPlane */
       136: .line 418
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 33 /* p */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;DDDLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
       137: .line 415
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 45 // double newDistance
        end local 43 // double cpDelta2
        end local 41 // double cpDelta1
        end local 39 // double tpDelta2
        end local 37 // double tpDelta1
        end local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
       138: .line 405
            iinc 34 1
      StackMap locals:
      StackMap stack:
       139: iload 34
            iload 35
            if_icmplt 127
        end local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] ZIntersectionsX
        end local 30 // double checkBelow
        end local 28 // double checkAbove
       140: .line 422
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List
      StackMap stack:
            aload 13 /* testPointFixedYAbovePlane */
            ifnull 159
            aload 14 /* testPointFixedYBelowPlane */
            ifnull 159
            aload 25 /* fixedZAbovePlane */
            ifnull 159
            aload 26 /* fixedZBelowPlane */
            ifnull 159
       141: .line 424
            ldc 4.0
            aload 13 /* testPointFixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 13 /* testPointFixedYAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 25 /* fixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 25 /* fixedZAbovePlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 28 /* checkAbove */
        start local 28 // double checkAbove
       142: .line 425
            ldc 4.0
            aload 14 /* testPointFixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 14 /* testPointFixedYBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseAbSquared:D
            dmul
            aload 26 /* fixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            aload 26 /* fixedZBelowPlane */
            getfield org.apache.lucene.spatial3d.geom.Plane.D:D
            dmul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            getfield org.apache.lucene.spatial3d.geom.PlanetModel.inverseCSquared:D
            dmul
            dadd
            dconst_1
            dsub
            dmul
            dstore 30 /* checkBelow */
        start local 30 // double checkBelow
       143: .line 426
            dload 28 /* checkAbove */
            ldc 1.0E-24
            dcmpg
            ifge 159
            dload 30 /* checkBelow */
            ldc 1.0E-24
            dcmpg
            ifge 159
       144: .line 428
            aload 20 /* travelPlaneFixedZ */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 12 /* testPointFixedYPlane */
            iconst_0
            anewarray org.apache.lucene.spatial3d.geom.Membership
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.findIntersections:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 32 /* ZIntersectionsY */
        start local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] ZIntersectionsY
       145: .line 429
            aload 32 /* ZIntersectionsY */
            dup
            astore 36
            arraylength
            istore 35
            iconst_0
            istore 34
            goto 158
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List double double org.apache.lucene.spatial3d.geom.GeoPoint[] top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
       146: aload 36
            iload 34
            aaload
            astore 33 /* p */
        start local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
       147: .line 432
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 37 /* tpDelta1 */
        start local 37 // double tpDelta1
       148: .line 433
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 39 /* tpDelta2 */
        start local 39 // double tpDelta2
       149: .line 434
            dload 3 /* y */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 41 /* cpDelta1 */
        start local 41 // double cpDelta1
       150: .line 435
            dload 1 /* x */
            aload 33 /* p */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 43 /* cpDelta2 */
        start local 43 // double cpDelta2
       151: .line 436
            dload 37 /* tpDelta1 */
            dload 37 /* tpDelta1 */
            dmul
            dload 39 /* tpDelta2 */
            dload 39 /* tpDelta2 */
            dmul
            dadd
            dload 41 /* cpDelta1 */
            dload 41 /* cpDelta1 */
            dmul
            dadd
            dload 43 /* cpDelta2 */
            dload 43 /* cpDelta2 */
            dmul
            dadd
            dstore 45 /* newDistance */
        start local 45 // double newDistance
       152: .line 439
            aload 27 /* traversalStrategies */
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy
            dup
            aload 0 /* this */
            dload 45 /* newDistance */
            aload 7 /* testPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dload 5 /* z */
       153: .line 440
            aload 12 /* testPointFixedYPlane */
            aload 13 /* testPointFixedYAbovePlane */
            aload 14 /* testPointFixedYBelowPlane */
       154: .line 441
            aload 20 /* travelPlaneFixedZ */
            aload 25 /* fixedZAbovePlane */
            aload 26 /* fixedZBelowPlane */
       155: .line 442
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 33 /* p */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;DDDLorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)V
       156: .line 439
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 45 // double newDistance
        end local 43 // double cpDelta2
        end local 41 // double cpDelta1
        end local 39 // double tpDelta2
        end local 37 // double tpDelta1
        end local 33 // org.apache.lucene.spatial3d.geom.GeoPoint p
       157: .line 429
            iinc 34 1
      StackMap locals:
      StackMap stack:
       158: iload 34
            iload 35
            if_icmplt 146
        end local 32 // org.apache.lucene.spatial3d.geom.GeoPoint[] ZIntersectionsY
        end local 30 // double checkBelow
        end local 28 // double checkAbove
       159: .line 447
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List
      StackMap stack:
            aload 27 /* traversalStrategies */
            invokestatic java.util.Collections.sort:(Ljava/util/List;)V
       160: .line 449
            aload 27 /* traversalStrategies */
            invokeinterface java.util.List.size:()I
            ifne 162
       161: .line 450
            new java.lang.IllegalArgumentException
            dup
            ldc "No dual-plane travel strategies were found"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
       162: .line 454
      StackMap locals:
      StackMap stack:
            aload 27 /* traversalStrategies */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 29
            goto 167
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List top java.util.Iterator
      StackMap stack:
       163: aload 29
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy
            astore 28 /* ts */
        start local 28 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy ts
       164: .line 456
            aload 28 /* ts */
            aload 7 /* testPoint */
            iload 8 /* testPointInSet */
            dload 1 /* x */
            dload 3 /* y */
            dload 5 /* z */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy.apply:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;ZDDD)Z
       165: ireturn
       166: .line 457
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy java.util.Iterator
      StackMap stack: java.lang.IllegalArgumentException
            pop
        end local 28 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy ts
       167: .line 454
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon double double double org.apache.lucene.spatial3d.geom.GeoPoint int org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.Plane java.util.List top java.util.Iterator
      StackMap stack:
            aload 29
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 163
       168: .line 462
            new java.lang.IllegalArgumentException
            dup
            ldc "Exhausted all traversal strategies"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 27 // java.util.List traversalStrategies
        end local 26 // org.apache.lucene.spatial3d.geom.Plane fixedZBelowPlane
        end local 25 // org.apache.lucene.spatial3d.geom.Plane fixedZAbovePlane
        end local 24 // org.apache.lucene.spatial3d.geom.Plane fixedXBelowPlane
        end local 23 // org.apache.lucene.spatial3d.geom.Plane fixedXAbovePlane
        end local 22 // org.apache.lucene.spatial3d.geom.Plane fixedYBelowPlane
        end local 21 // org.apache.lucene.spatial3d.geom.Plane fixedYAbovePlane
        end local 20 // org.apache.lucene.spatial3d.geom.Plane travelPlaneFixedZ
        end local 19 // org.apache.lucene.spatial3d.geom.Plane travelPlaneFixedY
        end local 18 // org.apache.lucene.spatial3d.geom.Plane travelPlaneFixedX
        end local 17 // org.apache.lucene.spatial3d.geom.Plane testPointFixedZBelowPlane
        end local 16 // org.apache.lucene.spatial3d.geom.Plane testPointFixedZAbovePlane
        end local 15 // org.apache.lucene.spatial3d.geom.Plane testPointFixedZPlane
        end local 14 // org.apache.lucene.spatial3d.geom.Plane testPointFixedYBelowPlane
        end local 13 // org.apache.lucene.spatial3d.geom.Plane testPointFixedYAbovePlane
        end local 12 // org.apache.lucene.spatial3d.geom.Plane testPointFixedYPlane
        end local 11 // org.apache.lucene.spatial3d.geom.Plane testPointFixedXBelowPlane
        end local 10 // org.apache.lucene.spatial3d.geom.Plane testPointFixedXAbovePlane
        end local 9 // org.apache.lucene.spatial3d.geom.Plane testPointFixedXPlane
        end local 8 // boolean testPointInSet
        end local 7 // org.apache.lucene.spatial3d.geom.GeoPoint testPoint
        end local 5 // double z
        end local 3 // double y
        end local 1 // double x
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  169     0                       this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0  169     1                          x  D
            0  169     3                          y  D
            0  169     5                          z  D
            0  169     7                  testPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0  169     8             testPointInSet  Z
            0  169     9       testPointFixedXPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    10  testPointFixedXAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    11  testPointFixedXBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    12       testPointFixedYPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    13  testPointFixedYAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    14  testPointFixedYBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    15       testPointFixedZPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    16  testPointFixedZAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0  169    17  testPointFixedZBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            4    9    18       crossingEdgeIterator  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$CountingEdgeIterator;
           11   16    18       crossingEdgeIterator  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$CountingEdgeIterator;
           18   23    18       crossingEdgeIterator  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$CountingEdgeIterator;
           24  169    18          travelPlaneFixedX  Lorg/apache/lucene/spatial3d/geom/Plane;
           25  169    19          travelPlaneFixedY  Lorg/apache/lucene/spatial3d/geom/Plane;
           26  169    20          travelPlaneFixedZ  Lorg/apache/lucene/spatial3d/geom/Plane;
           27  169    21           fixedYAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           30  169    22           fixedYBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           33  169    23           fixedXAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           36  169    24           fixedXBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           39  169    25           fixedZAbovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           42  169    26           fixedZBelowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
           45  169    27        traversalStrategies  Ljava/util/List<Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$TraversalStrategy;>;
           47   64    28                 checkAbove  D
           48   64    30                 checkBelow  D
           50   64    32            XIntersectionsY  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           52   62    33                          p  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           53   62    37                   tpDelta1  D
           54   62    39                   tpDelta2  D
           55   62    41                   cpDelta1  D
           56   62    43                   cpDelta2  D
           57   62    45                newDistance  D
           66   83    28                 checkAbove  D
           67   83    30                 checkBelow  D
           69   83    32            XIntersectionsZ  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           71   81    33                          p  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           72   81    37                   tpDelta1  D
           73   81    39                   tpDelta2  D
           74   81    41                   cpDelta1  D
           75   81    43                   cpDelta2  D
           76   81    45                newDistance  D
           85  102    28                 checkAbove  D
           86  102    30                 checkBelow  D
           88  102    32            YIntersectionsX  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           90  100    33                          p  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           91  100    37                   tpDelta1  D
           92  100    39                   tpDelta2  D
           93  100    41                   cpDelta1  D
           94  100    43                   cpDelta2  D
           95  100    45                newDistance  D
          104  121    28                 checkAbove  D
          105  121    30                 checkBelow  D
          107  121    32            YIntersectionsZ  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
          109  119    33                          p  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
          110  119    37                   tpDelta1  D
          111  119    39                   tpDelta2  D
          112  119    41                   cpDelta1  D
          113  119    43                   cpDelta2  D
          114  119    45                newDistance  D
          123  140    28                 checkAbove  D
          124  140    30                 checkBelow  D
          126  140    32            ZIntersectionsX  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
          128  138    33                          p  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
          129  138    37                   tpDelta1  D
          130  138    39                   tpDelta2  D
          131  138    41                   cpDelta1  D
          132  138    43                   cpDelta2  D
          133  138    45                newDistance  D
          142  159    28                 checkAbove  D
          143  159    30                 checkBelow  D
          145  159    32            ZIntersectionsY  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
          147  157    33                          p  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
          148  157    37                   tpDelta1  D
          149  157    39                   tpDelta2  D
          150  157    41                   cpDelta1  D
          151  157    43                   cpDelta2  D
          152  157    45                newDistance  D
          164  167    28                         ts  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$TraversalStrategy;
      Exception table:
        from    to  target  type
         164   165     166  Class java.lang.IllegalArgumentException
    MethodParameters:
                           Name  Flags
      x                          final
      y                          final
      z                          final
      testPoint                  final
      testPointInSet             final
      testPointFixedXPlane       final
      testPointFixedXAbovePlane  final
      testPointFixedXBelowPlane  final
      testPointFixedYPlane       final
      testPointFixedYAbovePlane  final
      testPointFixedYBelowPlane  final
      testPointFixedZPlane       final
      testPointFixedZAbovePlane  final
      testPointFixedZBelowPlane  final

  public org.apache.lucene.spatial3d.geom.GeoPoint[] getEdgePoints();
    descriptor: ()[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
         0: .line 468
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.edgePoints:[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            areturn
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;

  public boolean intersects(org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.GeoPoint[], org.apache.lucene.spatial3d.geom.Membership[]);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/GeoPoint;[Lorg/apache/lucene/spatial3d/geom/Membership;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.Plane p
        start local 2 // org.apache.lucene.spatial3d.geom.GeoPoint[] notablePoints
        start local 3 // org.apache.lucene.spatial3d.geom.Membership[] bounds
         0: .line 474
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorEdgeIterator
            dup
            aload 0 /* this */
            aload 1 /* p */
            aload 2 /* notablePoints */
            aload 3 /* bounds */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorEdgeIterator.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/GeoPoint;[Lorg/apache/lucene/spatial3d/geom/Membership;)V
            astore 4 /* intersector */
        start local 4 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator intersector
         1: .line 476
            new org.apache.lucene.spatial3d.geom.XYZBounds
            dup
            invokespecial org.apache.lucene.spatial3d.geom.XYZBounds.<init>:()V
            astore 5 /* xyzBounds */
        start local 5 // org.apache.lucene.spatial3d.geom.XYZBounds xyzBounds
         2: .line 477
            aload 1 /* p */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 5 /* xyzBounds */
            aload 3 /* bounds */
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.recordBounds:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/XYZBounds;[Lorg/apache/lucene/spatial3d/geom/Membership;)V
         3: .line 478
            aload 2 /* notablePoints */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 7
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.Membership[] org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator org.apache.lucene.spatial3d.geom.XYZBounds top int int org.apache.lucene.spatial3d.geom.GeoPoint[]
      StackMap stack:
         4: aload 9
            iload 7
            aaload
            astore 6 /* point */
        start local 6 // org.apache.lucene.spatial3d.geom.GeoPoint point
         5: .line 479
            aload 5 /* xyzBounds */
            aload 6 /* point */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.addPoint:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
        end local 6 // org.apache.lucene.spatial3d.geom.GeoPoint point
         6: .line 478
            iinc 7 1
      StackMap locals:
      StackMap stack:
         7: iload 7
            iload 8
            if_icmplt 4
         8: .line 482
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumX:()Ljava/lang/Double;
            ifnull 11
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumX:()Ljava/lang/Double;
            ifnull 11
         9: .line 483
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumY:()Ljava/lang/Double;
            ifnull 11
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumY:()Ljava/lang/Double;
            ifnull 11
        10: .line 484
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumZ:()Ljava/lang/Double;
            ifnull 11
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumZ:()Ljava/lang/Double;
            ifnonnull 12
        11: .line 485
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.Plane org.apache.lucene.spatial3d.geom.GeoPoint[] org.apache.lucene.spatial3d.geom.Membership[] org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator org.apache.lucene.spatial3d.geom.XYZBounds
      StackMap stack:
            iconst_0
            ireturn
        12: .line 488
      StackMap locals:
      StackMap stack:
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dsub
            dstore 6 /* xDelta */
        start local 6 // double xDelta
        13: .line 489
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dsub
            dstore 8 /* yDelta */
        start local 8 // double yDelta
        14: .line 490
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dsub
            dstore 10 /* zDelta */
        start local 10 // double zDelta
        15: .line 492
            dload 6 /* xDelta */
            dload 8 /* yDelta */
            dcmpg
            ifgt 19
            dload 6 /* xDelta */
            dload 10 /* zDelta */
            dcmpg
            ifgt 19
        16: .line 494
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 4 /* intersector */
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
            ifeq 17
            iconst_0
            goto 18
      StackMap locals: double double double
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: ireturn
        19: .line 495
      StackMap locals:
      StackMap stack:
            dload 8 /* yDelta */
            dload 6 /* xDelta */
            dcmpg
            ifgt 23
            dload 8 /* yDelta */
            dload 10 /* zDelta */
            dcmpg
            ifgt 23
        20: .line 497
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 4 /* intersector */
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
            ifeq 21
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: ireturn
        23: .line 498
      StackMap locals:
      StackMap stack:
            dload 10 /* zDelta */
            dload 6 /* xDelta */
            dcmpg
            ifgt 27
            dload 10 /* zDelta */
            dload 8 /* yDelta */
            dcmpg
            ifgt 27
        24: .line 500
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 4 /* intersector */
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 5 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
            ifeq 25
            iconst_0
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_1
      StackMap locals:
      StackMap stack: int
        26: ireturn
        27: .line 502
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 10 // double zDelta
        end local 8 // double yDelta
        end local 6 // double xDelta
        end local 5 // org.apache.lucene.spatial3d.geom.XYZBounds xyzBounds
        end local 4 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator intersector
        end local 3 // org.apache.lucene.spatial3d.geom.Membership[] bounds
        end local 2 // org.apache.lucene.spatial3d.geom.GeoPoint[] notablePoints
        end local 1 // org.apache.lucene.spatial3d.geom.Plane p
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0   28     1              p  Lorg/apache/lucene/spatial3d/geom/Plane;
            0   28     2  notablePoints  [Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0   28     3         bounds  [Lorg/apache/lucene/spatial3d/geom/Membership;
            1   28     4    intersector  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;
            2   28     5      xyzBounds  Lorg/apache/lucene/spatial3d/geom/XYZBounds;
            5    6     6          point  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           13   28     6         xDelta  D
           14   28     8         yDelta  D
           15   28    10         zDelta  D
    MethodParameters:
               Name  Flags
      p              final
      notablePoints  final
      bounds         final

  public boolean intersects(org.apache.lucene.spatial3d.geom.GeoShape);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoShape;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.GeoShape geoShape
         0: .line 508
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorShapeIterator
            dup
            aload 0 /* this */
            aload 1 /* geoShape */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorShapeIterator.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;Lorg/apache/lucene/spatial3d/geom/GeoShape;)V
            astore 2 /* intersector */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator intersector
         1: .line 510
            new org.apache.lucene.spatial3d.geom.XYZBounds
            dup
            invokespecial org.apache.lucene.spatial3d.geom.XYZBounds.<init>:()V
            astore 3 /* xyzBounds */
        start local 3 // org.apache.lucene.spatial3d.geom.XYZBounds xyzBounds
         2: .line 511
            aload 1 /* geoShape */
            aload 3 /* xyzBounds */
            invokeinterface org.apache.lucene.spatial3d.geom.GeoShape.getBounds:(Lorg/apache/lucene/spatial3d/geom/Bounds;)V
         3: .line 514
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dsub
            dstore 4 /* xDelta */
        start local 4 // double xDelta
         4: .line 515
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dsub
            dstore 6 /* yDelta */
        start local 6 // double yDelta
         5: .line 516
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            dsub
            dstore 8 /* zDelta */
        start local 8 // double zDelta
         6: .line 519
            dload 4 /* xDelta */
            dload 6 /* yDelta */
            dcmpg
            ifgt 10
            dload 4 /* xDelta */
            dload 8 /* zDelta */
            dcmpg
            ifgt 10
         7: .line 521
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.xTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 2 /* intersector */
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumX:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
            ifeq 8
            iconst_0
            goto 9
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.GeoShape org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator org.apache.lucene.spatial3d.geom.XYZBounds double double double
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        10: .line 522
      StackMap locals:
      StackMap stack:
            dload 6 /* yDelta */
            dload 4 /* xDelta */
            dcmpg
            ifgt 14
            dload 6 /* yDelta */
            dload 8 /* zDelta */
            dcmpg
            ifgt 14
        11: .line 524
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.yTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 2 /* intersector */
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumY:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
            ifeq 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: ireturn
        14: .line 525
      StackMap locals:
      StackMap stack:
            dload 8 /* zDelta */
            dload 4 /* xDelta */
            dcmpg
            ifgt 18
            dload 8 /* zDelta */
            dload 6 /* yDelta */
            dcmpg
            ifgt 18
        15: .line 527
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.zTree:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Tree;
            aload 2 /* intersector */
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMinimumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            aload 3 /* xyzBounds */
            invokevirtual org.apache.lucene.spatial3d.geom.XYZBounds.getMaximumZ:()Ljava/lang/Double;
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree.traverse:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;DD)Z
            ifeq 16
            iconst_0
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_1
      StackMap locals:
      StackMap stack: int
        17: ireturn
        18: .line 529
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 8 // double zDelta
        end local 6 // double yDelta
        end local 4 // double xDelta
        end local 3 // org.apache.lucene.spatial3d.geom.XYZBounds xyzBounds
        end local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator intersector
        end local 1 // org.apache.lucene.spatial3d.geom.GeoShape geoShape
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0   19     1     geoShape  Lorg/apache/lucene/spatial3d/geom/GeoShape;
            1   19     2  intersector  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$EdgeIterator;
            2   19     3    xyzBounds  Lorg/apache/lucene/spatial3d/geom/XYZBounds;
            4   19     4       xDelta  D
            5   19     6       yDelta  D
            6   19     8       zDelta  D
    MethodParameters:
          Name  Flags
      geoShape  

  public void getBounds(org.apache.lucene.spatial3d.geom.Bounds);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/Bounds;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.Bounds bounds
         0: .line 535
            aload 0 /* this */
            aload 1 /* bounds */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBasePolygon.getBounds:(Lorg/apache/lucene/spatial3d/geom/Bounds;)V
         1: .line 536
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.shapeStartEdges:[Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.Bounds top int int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* startEdge */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge startEdge
         3: .line 537
            aload 2 /* startEdge */
            astore 6 /* currentEdge */
        start local 6 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge currentEdge
         4: .line 539
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.Bounds org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge int int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[] org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
      StackMap stack:
            aload 1 /* bounds */
            aload 6 /* currentEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokeinterface org.apache.lucene.spatial3d.geom.Bounds.addPoint:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
         5: .line 540
            aload 1 /* bounds */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 6 /* currentEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.Membership
            dup
            iconst_0
            aload 6 /* currentEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_1
            aload 6 /* currentEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            invokeinterface org.apache.lucene.spatial3d.geom.Bounds.addPlane:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;[Lorg/apache/lucene/spatial3d/geom/Membership;)Lorg/apache/lucene/spatial3d/geom/Bounds;
            pop
         6: .line 541
            aload 6 /* currentEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.next:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            astore 6 /* currentEdge */
         7: .line 542
            aload 6 /* currentEdge */
            aload 2 /* startEdge */
            if_acmpne 4
        end local 6 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge currentEdge
        end local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge startEdge
         8: .line 536
            iinc 3 1
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.Bounds top int int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[]
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 2
        10: .line 547
            return
        end local 1 // org.apache.lucene.spatial3d.geom.Bounds bounds
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0   11     1       bounds  Lorg/apache/lucene/spatial3d/geom/Bounds;
            3    8     2    startEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            4    8     6  currentEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
    MethodParameters:
        Name  Flags
      bounds  

  protected double outsideDistance(org.apache.lucene.spatial3d.geom.DistanceStyle, double, double, double);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/DistanceStyle;DDD)D
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=13, locals=19, args_size=5
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        start local 2 // double x
        start local 4 // double y
        start local 6 // double z
         0: .line 551
            ldc Infinity
            dstore 8 /* minimumDistance */
        start local 8 // double minimumDistance
         1: .line 552
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.shapeStartEdges:[Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 13
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.DistanceStyle double double double double top int int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[]
      StackMap stack:
         2: aload 13
            iload 11
            aaload
            astore 10 /* shapeStartEdge */
        start local 10 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge shapeStartEdge
         3: .line 553
            aload 10 /* shapeStartEdge */
            astore 14 /* shapeEdge */
        start local 14 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge shapeEdge
         4: .line 555
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.DistanceStyle double double double double org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge int int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[] org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge
      StackMap stack:
            aload 1 /* distanceStyle */
            aload 14 /* shapeEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            dload 2 /* x */
            dload 4 /* y */
            dload 6 /* z */
            invokeinterface org.apache.lucene.spatial3d.geom.DistanceStyle.computeDistance:(Lorg/apache/lucene/spatial3d/geom/GeoPoint;DDD)D
            dstore 15 /* newDist */
        start local 15 // double newDist
         5: .line 556
            dload 15 /* newDist */
            dload 8 /* minimumDistance */
            dcmpg
            ifge 7
         6: .line 557
            dload 15 /* newDist */
            dstore 8 /* minimumDistance */
         7: .line 559
      StackMap locals: double
      StackMap stack:
            aload 1 /* distanceStyle */
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 14 /* shapeEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.plane:Lorg/apache/lucene/spatial3d/geom/Plane;
            dload 2 /* x */
            dload 4 /* y */
            dload 6 /* z */
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.Membership
            dup
            iconst_0
            aload 14 /* shapeEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            dup
            iconst_1
            aload 14 /* shapeEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.endPlane:Lorg/apache/lucene/spatial3d/geom/SidedPlane;
            aastore
            invokeinterface org.apache.lucene.spatial3d.geom.DistanceStyle.computeDistance:(Lorg/apache/lucene/spatial3d/geom/PlanetModel;Lorg/apache/lucene/spatial3d/geom/Plane;DDD[Lorg/apache/lucene/spatial3d/geom/Membership;)D
            dstore 17 /* newPlaneDist */
        start local 17 // double newPlaneDist
         8: .line 560
            dload 17 /* newPlaneDist */
            dload 8 /* minimumDistance */
            dcmpg
            ifge 10
         9: .line 561
            dload 17 /* newPlaneDist */
            dstore 8 /* minimumDistance */
        10: .line 563
      StackMap locals: double
      StackMap stack:
            aload 14 /* shapeEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.next:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            astore 14 /* shapeEdge */
        11: .line 564
            aload 14 /* shapeEdge */
            aload 10 /* shapeStartEdge */
            if_acmpne 4
        end local 17 // double newPlaneDist
        end local 15 // double newDist
        end local 14 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge shapeEdge
        end local 10 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge shapeStartEdge
        12: .line 552
            iinc 11 1
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon org.apache.lucene.spatial3d.geom.DistanceStyle double double double double top int int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[]
      StackMap stack:
        13: iload 11
            iload 12
            if_icmplt 2
        14: .line 569
            dload 8 /* minimumDistance */
            dreturn
        end local 8 // double minimumDistance
        end local 6 // double z
        end local 4 // double y
        end local 2 // double x
        end local 1 // org.apache.lucene.spatial3d.geom.DistanceStyle distanceStyle
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0   15     1    distanceStyle  Lorg/apache/lucene/spatial3d/geom/DistanceStyle;
            0   15     2                x  D
            0   15     4                y  D
            0   15     6                z  D
            1   15     8  minimumDistance  D
            3   12    10   shapeStartEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            4   12    14        shapeEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            5   12    15          newDist  D
            8   12    17     newPlaneDist  D
    MethodParameters:
               Name  Flags
      distanceStyle  final
      x              final
      y              final
      z              final

  private org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator createLinearCrossingEdgeIterator(org.apache.lucene.spatial3d.geom.GeoPoint, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.Plane, double, double, double);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;DDD)Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$CountingEdgeIterator;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=11, args_size=8
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.GeoPoint testPoint
        start local 2 // org.apache.lucene.spatial3d.geom.Plane plane
        start local 3 // org.apache.lucene.spatial3d.geom.Plane abovePlane
        start local 4 // org.apache.lucene.spatial3d.geom.Plane belowPlane
        start local 5 // double thePointX
        start local 7 // double thePointY
        start local 9 // double thePointZ
         0: .line 586
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$SectorLinearCrossingEdgeIterator
            dup
            aload 0 /* this */
            aload 1 /* testPoint */
            aload 2 /* plane */
            aload 3 /* abovePlane */
            aload 4 /* belowPlane */
            dload 5 /* thePointX */
            dload 7 /* thePointY */
            dload 9 /* thePointZ */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$SectorLinearCrossingEdgeIterator.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;DDD)V
         1: areturn
         2: .line 587
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
         3: .line 590
            new org.apache.lucene.spatial3d.geom.GeoComplexPolygon$FullLinearCrossingEdgeIterator
            dup
            aload 0 /* this */
            aload 1 /* testPoint */
            aload 2 /* plane */
            aload 3 /* abovePlane */
            aload 4 /* belowPlane */
            dload 5 /* thePointX */
            dload 7 /* thePointY */
            dload 9 /* thePointZ */
            invokespecial org.apache.lucene.spatial3d.geom.GeoComplexPolygon$FullLinearCrossingEdgeIterator.<init>:(Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/Plane;DDD)V
            areturn
        end local 9 // double thePointZ
        end local 7 // double thePointY
        end local 5 // double thePointX
        end local 4 // org.apache.lucene.spatial3d.geom.Plane belowPlane
        end local 3 // org.apache.lucene.spatial3d.geom.Plane abovePlane
        end local 2 // org.apache.lucene.spatial3d.geom.Plane plane
        end local 1 // org.apache.lucene.spatial3d.geom.GeoPoint testPoint
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0    4     1   testPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0    4     2       plane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0    4     3  abovePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0    4     4  belowPlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0    4     5   thePointX  D
            0    4     7   thePointY  D
            0    4     9   thePointZ  D
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      testPoint   final
      plane       final
      abovePlane  final
      belowPlane  final
      thePointX   final
      thePointY   final
      thePointZ   final

  private org.apache.lucene.spatial3d.geom.GeoPoint[] findAdjoiningPoints(org.apache.lucene.spatial3d.geom.Plane, org.apache.lucene.spatial3d.geom.GeoPoint, org.apache.lucene.spatial3d.geom.Plane);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/Plane;Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/Plane;)[Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=10, args_size=4
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // org.apache.lucene.spatial3d.geom.Plane plane
        start local 2 // org.apache.lucene.spatial3d.geom.GeoPoint pointOnPlane
        start local 3 // org.apache.lucene.spatial3d.geom.Plane envelopePlane
         0: .line 1745
            new org.apache.lucene.spatial3d.geom.Vector
            dup
            aload 1 /* plane */
            aload 2 /* pointOnPlane */
            invokespecial org.apache.lucene.spatial3d.geom.Vector.<init>:(Lorg/apache/lucene/spatial3d/geom/Vector;Lorg/apache/lucene/spatial3d/geom/Vector;)V
            astore 4 /* perpendicular */
        start local 4 // org.apache.lucene.spatial3d.geom.Vector perpendicular
         1: .line 1746
            dconst_0
            dstore 5 /* distanceFactor */
        start local 5 // double distanceFactor
         2: .line 1747
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         3: goto 16
         4: .line 1748
      StackMap locals: org.apache.lucene.spatial3d.geom.Vector double int
      StackMap stack:
            dload 5 /* distanceFactor */
            ldc 1.0E-12
            dadd
            dstore 5 /* distanceFactor */
         5: .line 1750
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 2 /* pointOnPlane */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 4 /* perpendicular */
            getfield org.apache.lucene.spatial3d.geom.Vector.x:D
            dload 5 /* distanceFactor */
            dmul
            dadd
         6: .line 1751
            aload 2 /* pointOnPlane */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 4 /* perpendicular */
            getfield org.apache.lucene.spatial3d.geom.Vector.y:D
            dload 5 /* distanceFactor */
            dmul
            dadd
         7: .line 1752
            aload 2 /* pointOnPlane */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            aload 4 /* perpendicular */
            getfield org.apache.lucene.spatial3d.geom.Vector.z:D
            dload 5 /* distanceFactor */
            dmul
            dadd
         8: .line 1750
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.createSurfacePoint:(DDD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 8 /* pointA */
        start local 8 // org.apache.lucene.spatial3d.geom.GeoPoint pointA
         9: .line 1753
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            aload 2 /* pointOnPlane */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 4 /* perpendicular */
            getfield org.apache.lucene.spatial3d.geom.Vector.x:D
            dload 5 /* distanceFactor */
            dmul
            dsub
        10: .line 1754
            aload 2 /* pointOnPlane */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 4 /* perpendicular */
            getfield org.apache.lucene.spatial3d.geom.Vector.y:D
            dload 5 /* distanceFactor */
            dmul
            dsub
        11: .line 1755
            aload 2 /* pointOnPlane */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            aload 4 /* perpendicular */
            getfield org.apache.lucene.spatial3d.geom.Vector.z:D
            dload 5 /* distanceFactor */
            dmul
            dsub
        12: .line 1753
            invokevirtual org.apache.lucene.spatial3d.geom.PlanetModel.createSurfacePoint:(DDD)Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            astore 9 /* pointB */
        start local 9 // org.apache.lucene.spatial3d.geom.GeoPoint pointB
        13: .line 1756
            aload 3 /* envelopePlane */
            aload 8 /* pointA */
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluate:(Lorg/apache/lucene/spatial3d/geom/Vector;)D
            invokestatic java.lang.Math.abs:(D)D
            ldc 1.0E-13
            dcmpl
            ifle 15
            aload 3 /* envelopePlane */
            aload 9 /* pointB */
            invokevirtual org.apache.lucene.spatial3d.geom.Plane.evaluate:(Lorg/apache/lucene/spatial3d/geom/Vector;)D
            invokestatic java.lang.Math.abs:(D)D
            ldc 1.0E-13
            dcmpl
            ifle 15
        14: .line 1758
            iconst_2
            anewarray org.apache.lucene.spatial3d.geom.GeoPoint
            dup
            iconst_0
            aload 8 /* pointA */
            aastore
            dup
            iconst_1
            aload 9 /* pointB */
            aastore
            areturn
        end local 9 // org.apache.lucene.spatial3d.geom.GeoPoint pointB
        end local 8 // org.apache.lucene.spatial3d.geom.GeoPoint pointA
        15: .line 1747
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 7 /* i */
            bipush 100
            if_icmplt 4
        end local 7 // int i
        17: .line 1764
            aconst_null
            areturn
        end local 5 // double distanceFactor
        end local 4 // org.apache.lucene.spatial3d.geom.Vector perpendicular
        end local 3 // org.apache.lucene.spatial3d.geom.Plane envelopePlane
        end local 2 // org.apache.lucene.spatial3d.geom.GeoPoint pointOnPlane
        end local 1 // org.apache.lucene.spatial3d.geom.Plane plane
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0   18     1           plane  Lorg/apache/lucene/spatial3d/geom/Plane;
            0   18     2    pointOnPlane  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0   18     3   envelopePlane  Lorg/apache/lucene/spatial3d/geom/Plane;
            1   18     4   perpendicular  Lorg/apache/lucene/spatial3d/geom/Vector;
            2   18     5  distanceFactor  D
            3   17     7               i  I
            9   15     8          pointA  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
           13   15     9          pointB  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
    MethodParameters:
               Name  Flags
      plane          final
      pointOnPlane   final
      envelopePlane  final

  private static double computeSquaredDistance(org.apache.lucene.spatial3d.geom.GeoPoint, org.apache.lucene.spatial3d.geom.GeoPoint);
    descriptor: (Lorg/apache/lucene/spatial3d/geom/GeoPoint;Lorg/apache/lucene/spatial3d/geom/GeoPoint;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoPoint checkPoint
        start local 1 // org.apache.lucene.spatial3d.geom.GeoPoint intersectionPoint
         0: .line 1768
            aload 0 /* checkPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            aload 1 /* intersectionPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.x:D
            dsub
            dstore 2 /* distanceX */
        start local 2 // double distanceX
         1: .line 1769
            aload 0 /* checkPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            aload 1 /* intersectionPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.y:D
            dsub
            dstore 4 /* distanceY */
        start local 4 // double distanceY
         2: .line 1770
            aload 0 /* checkPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            aload 1 /* intersectionPoint */
            getfield org.apache.lucene.spatial3d.geom.GeoPoint.z:D
            dsub
            dstore 6 /* distanceZ */
        start local 6 // double distanceZ
         3: .line 1771
            dload 2 /* distanceX */
            dload 2 /* distanceX */
            dmul
            dload 4 /* distanceY */
            dload 4 /* distanceY */
            dmul
            dadd
            dload 6 /* distanceZ */
            dload 6 /* distanceZ */
            dmul
            dadd
            dreturn
        end local 6 // double distanceZ
        end local 4 // double distanceY
        end local 2 // double distanceX
        end local 1 // org.apache.lucene.spatial3d.geom.GeoPoint intersectionPoint
        end local 0 // org.apache.lucene.spatial3d.geom.GeoPoint checkPoint
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0         checkPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            0    4     1  intersectionPoint  Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            1    4     2          distanceX  D
            2    4     4          distanceY  D
            3    4     6          distanceZ  D
    MethodParameters:
                   Name  Flags
      checkPoint         final
      intersectionPoint  final

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
        start local 1 // java.lang.Object o
         0: .line 1776
            aload 1 /* o */
            instanceof org.apache.lucene.spatial3d.geom.GeoComplexPolygon
            ifne 2
         1: .line 1777
            iconst_0
            ireturn
         2: .line 1778
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.lucene.spatial3d.geom.GeoComplexPolygon
            astore 2 /* other */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon other
         3: .line 1779
            aload 0 /* this */
            aload 2 /* other */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBasePolygon.equals:(Ljava/lang/Object;)Z
            ifeq 7
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1InSet:Z
            aload 2 /* other */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1InSet:Z
            if_icmpne 7
         4: .line 1780
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            aload 2 /* other */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 1781
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.pointsList:Ljava/util/List;
            aload 2 /* other */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.pointsList:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1779
            iconst_1
            ireturn
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon other
        end local 1 // java.lang.Object o
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            0    8     1      o  Ljava/lang/Object;
            3    8     2  other  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
         0: .line 1786
            aload 0 /* this */
            invokespecial org.apache.lucene.spatial3d.geom.GeoBasePolygon.hashCode:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 1787
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1InSet:Z
            invokestatic java.lang.Boolean.hashCode:(Z)I
            iadd
            istore 1 /* result */
         2: .line 1788
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual org.apache.lucene.spatial3d.geom.GeoPoint.hashCode:()I
            iadd
            istore 1 /* result */
         3: .line 1789
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.pointsList:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
         4: .line 1790
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            1    5     1  result  I

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
         0: .line 1795
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* edgeDescription */
        start local 1 // java.lang.StringBuilder edgeDescription
         1: .line 1796
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.shapeStartEdges:[Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon java.lang.StringBuilder top int int org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* shapeStartEdge */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge shapeStartEdge
         3: .line 1797
            aload 1 /* edgeDescription */
            aload 2 /* shapeStartEdge */
            invokestatic org.apache.lucene.spatial3d.geom.GeoComplexPolygon.fillInEdgeDescription:(Ljava/lang/StringBuilder;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;)V
        end local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge shapeStartEdge
         4: .line 1796
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 1799
            new java.lang.StringBuilder
            dup
            ldc "GeoComplexPolygon: {planetmodel="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.planetModel:Lorg/apache/lucene/spatial3d/geom/PlanetModel;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", number of shapes="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.shapeStartEdges:[Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ", address="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.lucene.spatial3d.geom.GeoComplexPolygon.hashCode:()I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", testPoint="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", testPointInSet="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon.testPoint1InSet:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc ", shapes={"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* edgeDescription */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "}}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder edgeDescription
        end local 0 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon;
            1    7     1  edgeDescription  Ljava/lang/StringBuilder;
            3    4     2   shapeStartEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;

  private static void fillInEdgeDescription(java.lang.StringBuilder, org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge);
    descriptor: (Ljava/lang/StringBuilder;Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.StringBuilder description
        start local 1 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge startEdge
         0: .line 1803
            aload 0 /* description */
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         1: .line 1804
            aload 1 /* startEdge */
            astore 2 /* currentEdge */
        start local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge currentEdge
         2: .line 1805
            iconst_0
            istore 3 /* edgeCounter */
        start local 3 // int edgeCounter
         3: .line 1807
      StackMap locals: org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge int
      StackMap stack:
            iload 3 /* edgeCounter */
            ifle 5
         4: .line 1808
            aload 0 /* description */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 1810
      StackMap locals:
      StackMap stack:
            iload 3 /* edgeCounter */
            bipush 20
            if_icmplt 8
         6: .line 1811
            aload 0 /* description */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 1812
            goto 14
         8: .line 1814
      StackMap locals:
      StackMap stack:
            aload 0 /* description */
            aload 2 /* currentEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.startPoint:Lorg/apache/lucene/spatial3d/geom/GeoPoint;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         9: .line 1815
            aload 2 /* currentEdge */
            getfield org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge.next:Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            astore 2 /* currentEdge */
        10: .line 1816
            aload 2 /* currentEdge */
            aload 1 /* startEdge */
            if_acmpne 12
        11: .line 1817
            goto 14
        12: .line 1819
      StackMap locals:
      StackMap stack:
            iinc 3 /* edgeCounter */ 1
        13: .line 1806
            goto 3
        14: .line 1821
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int edgeCounter
        end local 2 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge currentEdge
        end local 1 // org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge startEdge
        end local 0 // java.lang.StringBuilder description
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0  description  Ljava/lang/StringBuilder;
            0   15     1    startEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            2   15     2  currentEdge  Lorg/apache/lucene/spatial3d/geom/GeoComplexPolygon$Edge;
            3   15     3  edgeCounter  I
    MethodParameters:
             Name  Flags
      description  final
      startEdge    final
}
SourceFile: "GeoComplexPolygon.java"
NestMembers:
  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$FullLinearCrossingEdgeIterator  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorEdgeIterator  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorShapeIterator  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$SectorLinearCrossingEdgeIterator  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$XTree  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$YTree  org.apache.lucene.spatial3d.geom.GeoComplexPolygon$ZTree
InnerClasses:
  private abstract CountingEdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$CountingEdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private DualCrossingEdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$DualCrossingEdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private Edge = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Edge of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private abstract EdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$EdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private FullLinearCrossingEdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$FullLinearCrossingEdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private IntersectorEdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorEdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private IntersectorShapeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$IntersectorShapeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private Node = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Node of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private SectorLinearCrossingEdgeIterator = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$SectorLinearCrossingEdgeIterator of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private TraversalStrategy = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$TraversalStrategy of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private abstract Tree = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$Tree of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private XTree = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$XTree of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private YTree = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$YTree of org.apache.lucene.spatial3d.geom.GeoComplexPolygon
  private ZTree = org.apache.lucene.spatial3d.geom.GeoComplexPolygon$ZTree of org.apache.lucene.spatial3d.geom.GeoComplexPolygon