code: public static Geometry reverseMultiPoint(MultiPoint mp) {
          int nPoints = mp.getNumGeometries();
          Point[] revPoints = new Point[nPoints];
          for (int i = 0; i < nPoints; i++) {
              revPoints[nPoints - 1 - i] = (Point) mp.getGeometryN(i).reverse();
          }
          return mp.getFactory().createMultiPoint(revPoints);
      }
docs: Returns the MultiPoint with vertex order reversed. We do our own
  implementation here because JTS does not handle it.
  
  @param mp MultiPoint
  @return MultiPoint with vertex order reversed