public override string ToString() { if (child == null) return String.Format ("{0} ({1})", GetType ().Name, MyToString ()); else return String.Format ("{0}:{1}", GetType ().Name, child); }