public bool Equals(IMarker other)
 {
     return
         (other != null &&
          Id.Equals(other.Id) &&
          Name == other.Name &&
          RelativePosition.Equals(other.RelativePosition) &&
          RelativeRotationEuler.Equals(other.RelativeRotationEuler) &&
          ObjectScale.Equals(other.ObjectScale) &&
          CreatedTime.Equals(other.CreatedTime) &&
          LastUpdatedTime.Equals(other.LastUpdatedTime) &&
          LastUsedTime.Equals(other.LastUsedTime));
 }
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = Id.GetHashCode();
         hashCode = (hashCode * 397) ^ (Name != null ? Name.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ RelativePosition.GetHashCode();
         hashCode = (hashCode * 397) ^ RelativeRotationEuler.GetHashCode();
         hashCode = (hashCode * 397) ^ ObjectScale.GetHashCode();
         hashCode = (hashCode * 397) ^ CreatedTime.GetHashCode();
         hashCode = (hashCode * 397) ^ LastUpdatedTime.GetHashCode();
         hashCode = (hashCode * 397) ^ LastUsedTime.GetHashCode();
         return(hashCode);
     }
 }