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()); }