public override RobotRaconteurException DownCastException(RobotRaconteurException rr_exp)
        {
            if (rr_exp == null)
            {
                return(rr_exp);
            }
            string rr_type = rr_exp.Error;

            if (!rr_type.Contains("."))
            {
                return(rr_exp);
            }
            string rr_stype;

            if (CompareNamespace(rr_type, out rr_stype))
            {
                if (rr_stype == "testexception3")
                {
                    return(new testexception3(rr_exp.Message, rr_exp.ErrorSubName, rr_exp.ErrorParam));
                }
            }
            else
            {
                return(RobotRaconteurNode.s.DownCastException(rr_exp));
            }
            return(rr_exp);
        }
        public override RobotRaconteurException DownCastException(RobotRaconteurException rr_exp)
        {
            if (rr_exp == null)
            {
                return(rr_exp);
            }
            string rr_type = rr_exp.Error;

            if (!rr_type.Contains("."))
            {
                return(rr_exp);
            }
            string[] rr_stype = RobotRaconteurNode.SplitQualifiedName(rr_type);
            if (rr_stype[0] != "sensors.ati.mini45")
            {
                return(RobotRaconteurNode.s.DownCastException(rr_exp));
            }
            return(rr_exp);
        }