public override bool Equals(object other) { var otherNode = other as VarDeclNode; if (null == otherNode) { return(false); } return(memregion == otherNode.memregion && ArgumentType.Equals(otherNode.ArgumentType) && EqualityComparer <ImperativeNode> .Default.Equals(NameNode, otherNode.NameNode)); }