public function getEdgeFirst()
    {
        if (!$this->edges) {
            throw new UnderflowException('Does not contain any edges');
        }
        reset($this->edges);

        return current($this->edges);
    }
public function getEdgeFirst()
    {
        if (!$this->edges) {
            throw new UnderflowException('Does not contain any edges');
        }
        reset($this->edges);

        return current($this->edges);
    }
public function getEdgeFirst ( ) { if ( ! $ this -> edges ) { throw new UnderflowException ( 'Does not contain any edges' ) ; } reset ( $ this -> edges ) ; return current ( $ this -> edges ) ; }
return first Edge in this set of Edges

some algorithms do not need a particular edge, but merely a (random)
starting point. this is a convenience function to just pick the first
edge from the list of known edges.

@return Edge               first Edge in this set of Edges
@throws UnderflowException if set is empty
@see self::getEdgeOrder()  if you need to apply ordering first
return first Edge in this set of Edges