private string GenerateMarkBackTrace(IAnnotationProvider t, int depth)
        {
            if (depth == 40)
            {
                return("");
            }
            var r = Annotations.GetMarkReason(t);

            if (r == null)
            {
                return("unknown");
            }
            var sb = new StringBuilder();

            if (r is IAnnotationProvider)
            {
                sb.Append(r);
                sb.AppendLine();
                for (int i = 0; i != depth + 1; i++)
                {
                    sb.Append("...");
                }
                sb.Append(GenerateMarkBackTrace((IAnnotationProvider)r, depth + 1));
                return(sb.ToString());
            }
            return(r.ToString());
        }