Add GraphUtil class and use GraphUtil::reduce()