title: Creating my own "LINQ" extension methods
body: <p>so I was wondering if someone would make a very thorough explanation of what exactly I have done here, I know what im working with, and what the meaning of the code is, however, if I were to explain it, I would be clueless.</p>
  
  <pre><code>public static IEnumerable&lt;TSource&gt; VisitorWhere&lt;TSource&gt;(this IEnumerable&lt;TSource&gt; enumerable, Predicate&lt;TSource&gt; CompareMethod)
  {
      ICollection&lt;TSource&gt; temp = new List&lt;TSource&gt;();
  
      foreach (TSource item in enumerable)
      {
          if(CompareMethod(item))
          {
              temp.Add(item);
          }
      }
      return temp;
  }
  </code></pre>