private JtsGeometry shiftPoly(JtsGeometry poly, final int lon_shift) throws ParseException {
final Random random = RandomizedContext.current().getRandom();
Geometry pGeom = poly.getGeom();
assertTrue(pGeom.isValid());
//shift 180 to the right
pGeom = (Geometry) pGeom.clone();
pGeom.apply(new CoordinateFilter() {
@Override
public void filter(Coordinate coord) {
coord.x = normX(coord.x + lon_shift);
if (ctx.isGeo() && Math.abs(coord.x) == 180 && random.nextBoolean())