public static string UpwardsDebugTraceRecursive(IReference reference, int depth, string value = "") { value += depth + ": " + reference.GetTypeName() + ": " + reference.GetName() + "\n"; if (reference.GetParentReference() != null) { value = UpwardsDebugTraceRecursive(reference.GetParentReference(), --depth, value); } return(value); }