code: @Deprecated
      public GeographyValue add(GeographyPointValue offset) {
          List<List<GeographyPointValue>> newLoops = new ArrayList<>();
          for (List<XYZPoint> oneLoop : m_loops) {
              List<GeographyPointValue> loop = new ArrayList<>();
              for (XYZPoint p : oneLoop) {
                  loop.add(p.toGeographyPointValue().add(offset));
              }
              loop.add(oneLoop.get(0).toGeographyPointValue().add(offset));
              newLoops.add(loop);
          }
          return new GeographyValue(newLoops, true);
      }
docs: Create a new GeographyValue which is offset from this one
  by the given point.  The latitude and longitude values
  stay in range because we are using the normalizing operations
  in GeographyPointValue.
  
  @param offset  The point by which to translate vertices in this
  @return  The resulting GeographyValue.