class UtmConverter {

    public static GeoCoordinate toLatLon(double easting, double northing, int zone, boolean southHemi) {
        easting -= 500000.0;
        easting /= UTMScaleFactor;
        /* If in southern hemisphere, adjust y accordingly. */
        if (southHemi) {
            northing -= 10000000.0;
        }
        northing /= UTMScaleFactor;
        double cmeridian = utmCentralMeridian(zone);
        double[] latLng = mapXYToLatLon(easting, northing, cmeridian);
        double lat = toDegrees(latLng[0]);
        double lng = toDegrees(latLng[1]);
        return new ImmutableGeoCoordinate(lat, lng);
    }

    private  UtmConverter();

}