internal double CalculateZToleranceFromGeometry(com.epl.geometry.SpatialReference sr, com.epl.geometry.Geometry geometry)
        {
            com.epl.geometry.Envelope1D env1D = geometry.QueryInterval(com.epl.geometry.VertexDescription.Semantics.Z, 0);
            double tolerance = env1D._calculateToleranceFromEnvelope();

            return(System.Math.Max(sr != null ? sr.GetTolerance(com.epl.geometry.VertexDescription.Semantics.Z) : 0, tolerance));
        }
        internal static double CalculateZToleranceFromGeometry(com.epl.geometry.SpatialReference sr, com.epl.geometry.Geometry geometry, bool bConservative)
        {
            com.epl.geometry.Envelope1D env1D = geometry.QueryInterval(com.epl.geometry.VertexDescription.Semantics.Z, 0);
            double gtolerance = env1D._calculateToleranceFromEnvelope();
            double stolerance = sr != null?sr.GetTolerance(com.epl.geometry.VertexDescription.Semantics.Z) : 0;

            if (bConservative)
            {
                gtolerance *= 4;
                stolerance *= 1.1;
            }
            return(System.Math.Max(stolerance, gtolerance));
        }