@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);
    }
@ 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 ) ; }
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.