title: Remove an object from any place in a multilevel list ( Bypass searching on graph algorithm )
body: <p><strong>I have :</strong> a list of items.
  Each item in this list can have the own list with the same structure.
  The depth of this list can be conditionally unlimited.</p>
  <p><strong>I need :</strong> Having The List of items IDs remove any items wherever it was without waste of plenty of time
  I know how to implement searching on graph algorithm, I need a solution which will allow me to bypass a simple enumeration.</p>
  <p>Item Structure looks like this, but its not final and i can change it if needed</p>
  <pre><code>public class NavigationPath
  {
      public int Id { get; set; }
      public string Name { get; set; }
      public string Value { get; set; }
      public List&lt;NavigationPath&gt; Childs { get; set; }
  }
  </code></pre>
  <p><a href="https://i.stack.imgur.com/ewpKb.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ewpKb.png" alt="enter image description here" /></a></p>