public function getEdgesIntersection($otherEdges)
    {
        $otherArray = self::factory($otherEdges)->getVector();

        $edges = array();
        foreach ($this->edges as $eid => $edge) {
            $i = array_search($edge, $otherArray, true);

            if ($i !== false) {
                // remove from other array in order to check for duplicate matches
                unset($otherArray[$i]);

                $edges[$eid] = $edge;
            }
        }

        return new static($edges);
    }