Зачем делать безсмысленный makeStep? Пускай он возвращает булево значение.
boolean makeStep(Graph &graph, ValuesTable &table) { .... }
Не было отрицательных свойств среди вершин - значит пускай вернет true.
Тогда будет стоп алгоритма. И не надо будет
делать дополнительных пере-расчетов.