public override bool Equals(object obj)
{
if (obj == null || GetType() != obj.GetType()) {
return false;
}
LineCourseObj other = (LineCourseObj) obj;
if (other.courseControlId2 != courseControlId2 || other.thickness != thickness || !(path.Equals(other.path)))
return false;
if (gaps != null) {
if (other.gaps == null)
return false;
if (gaps.Length != other.gaps.Length)
return false;
for (int i = 0; i < gaps.Length; ++i)
if (other.gaps[i] != gaps[i])
return false;
}
else {
if (other.gaps != null)
return false;
}
return base.Equals(obj);
}