public override bool Equals(object obj) { if ((obj is NameExpression) == false) return false; return this.Name == ((NameExpression)obj).Name && this.Scope == ((NameExpression)obj).Scope; }