public override bool Equals(Object obj)
{
//Check for null and compare run-time types.
if (obj == null || this.GetType() != obj.GetType()) return false;
if (obj is ObjectProperty) {
ObjectProperty p = (ObjectProperty)obj;
return (this.Name == p.Name) && (this.PropertyType == p.PropertyType);
} else {
return false;
}
}