@Test
public void transformCoordinate2DCRSTo3D() throws Exception {

    CoordinateReferenceSystem srcCRS = DefaultGeographicCRS.WGS84;
    CoordinateReferenceSystem targetCRS = DefaultGeocentricCRS.CARTESIAN;
    MathTransform transform = CRS.findMathTransform(srcCRS, targetCRS);
    Coordinate srcCoord = new Coordinate(0, 0);
    Coordinate dest0 = JTS.transform(srcCoord, null, transform);
    srcCoord.x = 180;
    Coordinate dest180 = JTS.transform(srcCoord, null, transform);
    // Only a perfunctory check on the return values - mostly we
    // just wanted to make sure there was no exception
    assertEquals(dest0.x, -dest180.x, TOL);
    assertEquals(dest0.y, dest180.y, TOL);
    assertEquals(dest0.z, dest180.z, TOL);
}