Inheritance: ITextPatternRange
        public bool Compare(ITextPatternRange range)
        {
            UiaDbusTextPatternRange r = range as UiaDbusTextPatternRange;

            if (r == null)
            {
                throw new Exception("Require a UiaDbusTextPatternRange object");
            }
            try {
                return(this.range.Compare(r.path));
            } catch (Exception ex) {
                throw DbusExceptionTranslator.Translate(ex);
            }
        }
        public int CompareEndpoints(TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
        {
            UiaDbusTextPatternRange r = targetRange as UiaDbusTextPatternRange;

            if (r == null)
            {
                throw new Exception("Require a UiaDbusTextPatternRange object");
            }
            try {
                return(this.range.CompareEndpoints(endpoint, r.path, targetEndpoint));
            } catch (Exception ex) {
                throw DbusExceptionTranslator.Translate(ex);
            }
        }
        public void MoveEndpointByRange(TextPatternRangeEndpoint endpoint, ITextPatternRange targetRange, TextPatternRangeEndpoint targetEndpoint)
        {
            UiaDbusTextPatternRange r = targetRange as UiaDbusTextPatternRange;

            if (r == null)
            {
                throw new Exception("Require a UiaDbusTextPatternRange object");
            }
            try {
                range.MoveEndpointByRange(endpoint, r.path, targetEndpoint);
            } catch (Exception ex) {
                throw DbusExceptionTranslator.Translate(ex);
            }
        }