docs: public static GeographyPointValue normalizeLngLat(double longitude, double latitude) {
          // Now compute the latitude.  We compute this in
          // the range [-180, 180] and then fiddle with it.
          // If it's out of the range [-90, 90], we need to
          // flip it and then change the longitude.
          double latNorm = normalize(latitude, 360);
          double lngNorm = normalize(longitude, 360);
          double latFinal = 0.0;
          double lngFinal = 0.0;
          assert(-180 <= latNorm && latNorm <= 180);
          assert(-180 <= lngNorm && lngNorm <= 180);
          // Now, latOrig is the latitude in the range [-180,180].
          // Let latWant be latitude in the range [-90, 90]. Then
          // o If latOrig > 90, we have latOrig + latWant = 180.  That
          //   is, if we rotate our point starting at latOrig through
          //   the angle latWant, we get +180.</li>
          // o If latOrig < 90, then we have latOrig - latWant = -180.
          //   If we rotate our point, which is the southern hemisphere,
          //   through the angle latWant, then we will have it at -180.</li>
          //
          // In either case, if we change the latitude we then need to change
          // the longitude.  We want to reflect the longitude across the origin.
          boolean flipLng = false;
          if (latNorm > 90) {
              // This is latWant.
              latFinal = 180 - latNorm;
              flipLng = true;
          } else if (latNorm < -90) {
              // This is lngWant.
              latFinal = -latNorm - 180;
              flipLng = true;
          } else {
              latFinal = latNorm;
              lngFinal = lngNorm;
          }
          if (flipLng) {
              if (lngNorm <= 0) {
                  // Since lngOrig is in [-180,0], we must have that
                  // lngOrig + 180 is in the range [0, 180].
                  // So, we are mapping 0 to 180.
                  lngFinal = lngNorm + 180;
              } else {
                  // Since lngOrig is in the range [-0, 180] we must have
                  // that lngOrig - 180 is in the range [-180, 0].
                  // So, we are mapping -0 to -180.
                  lngFinal = lngNorm - 180;
              }
          }
  
          assert(-90 <= latFinal && latFinal <= 90);
          // For latitude of 90 or -90, canonicalize longitude to
          // to 0.
          if (90 - Math.abs(latFinal) < EPSILON) {
              // We are at one of the poles
              lngFinal = 0;
          }
  
          // For longitudes within epsilon of the international dateline
          // (on the east side), canonicalize to 180.0.
          if (lngFinal < 0 && 180 + lngFinal < EPSILON) {
              lngFinal = 180.0;
          }
  
          assert(-180 < lngFinal && lngFinal <= 180);
          // Return the point.
          return new GeographyPointValue(lngFinal + 0.0, latFinal + 0.0);
      }