/// <summary>
        /// Gets the simplified geometry.
        /// </summary>
        /// <returns>The simplified geometry.</returns>
        public IGeometry GetResultGeometry()
        {
            // empty input produces an empty result
            if (_inputGeom.IsEmpty)
            {
                return((IGeometry)_inputGeom.Clone());
            }

            DPTransformer transformer = new DPTransformer(this, EnsureValidTopology);

            return(transformer.Transform(_inputGeom));
        }
        /// <summary>
        /// Gets the simplified geometry.
        /// </summary>
        /// <returns>The simplified geometry.</returns>
        public IGeometry GetResultGeometry()
        {
            // empty input produces an empty result
            if (_inputGeom.IsEmpty) 
                return (IGeometry)_inputGeom.Clone();

            DPTransformer transformer = new DPTransformer(this, EnsureValidTopology);
            return transformer.Transform(_inputGeom);
        }