public bool EqualsTo(IPath path) { var parts = path.Parts.ToArray(); if (parts.Length != Parts.Count()) { return(false); } for (int i = 0; i < parts.Length; i++) { var origin = Parts.ElementAt(i); var part = parts[i]; if (part.PlainText.Equals(origin.PlainText) == false) { return(false); } } return(true); }