public override bool Equals(object obj) { VariationPath other = obj as VariationPath; if (other == null) return false; return Util.ArrayEquals(this.choices, other.choices); }