public override int CompareTo(AcPlaceholderNew o) {
var r = o as CarObject;
if (r == null) return base.CompareTo(o);
var tp = Parent;
var rp = r.Parent;
if (rp == this) return -1;
if (tp == r) return 1;
if (tp == rp) return Compare(this, r);
return Compare(tp ?? this, rp ?? r);
}