public function intersect($second)
    {
        LinqHelper::assertArgumentIsIterable($second, "second");
        return new Linq(new IntersectIterator($this->iterator, LinqHelper::getIteratorOrThrow($second)));
    }