public int GetBaseEventCount ()
{
int result;
if (Base == null || string.IsNullOrEmpty (Base.Value)) {
result = -1;
} else if (Parent == null) {
result = -2;
} else if (!Parent.Children.ContainsKey (Base.Value)) {
result = -3;
} else
result = ((TypeInfo) Parent.Children [Base.Value]).GetTotalEventCount ();
//Console.WriteLine ("GetBaseEventCount '{2}' {0}, base: '{1}'", result, Base != null ? Base.Value : "<no base>", FullName);
return result < 0 ? 0 : result;
}