int GetTypeLevel(string baseTypeName, IEnumerable<TypeDoc> typeDocs)
{
var typeDocsWithShortBaseNames = typeDocs.Select(t =>
new TypeDoc(
String.Format("{0}.{1}", t.Namespace, t.Name),
RemoveRootNamespace(t.BaseTypeName)));
if(String.IsNullOrWhiteSpace(baseTypeName))
return 1;
var baseType = typeDocsWithShortBaseNames
.FirstOrDefault(t => t.BaseTypeName == baseTypeName);
var counter = 0;
while(baseType != null) {
baseType = typeDocsWithShortBaseNames
.FirstOrDefault(t => t.Name == baseType.BaseTypeName);
counter++;
}
return counter;
}