diff --git a/modules/WeightedBridgingCentrality/pom.xml b/modules/WeightedBridgingCentrality/pom.xml
index 0c7f9e2f3..b986f4e70 100644
--- a/modules/WeightedBridgingCentrality/pom.xml
+++ b/modules/WeightedBridgingCentrality/pom.xml
@@ -9,7 +9,7 @@
com.nathansteinmeyer
weighted-bridging-centrality
- 1.0.0
+ 1.0.1
nbm
Weighted Bridging Centrality
diff --git a/modules/WeightedBridgingCentrality/src/main/java/com/nathansteinmeyer/weightedbridgingcentrality/WeightedBridgingCentralityMetric.java b/modules/WeightedBridgingCentrality/src/main/java/com/nathansteinmeyer/weightedbridgingcentrality/WeightedBridgingCentralityMetric.java
index 10994a857..86952346f 100644
--- a/modules/WeightedBridgingCentrality/src/main/java/com/nathansteinmeyer/weightedbridgingcentrality/WeightedBridgingCentralityMetric.java
+++ b/modules/WeightedBridgingCentrality/src/main/java/com/nathansteinmeyer/weightedbridgingcentrality/WeightedBridgingCentralityMetric.java
@@ -193,7 +193,8 @@ private double[] calculateBetweeness(Graph graph, HashMap indicie
Progress.start(progressTicket, Number_of_Nodes);
//Weighted shortest-path search to calculate all shortest paths from node s to t
- for (Node s : graph.getNodes()) {
+ NodeIterable nodeIterable = graph.getNodes();
+ for (Node s : nodeIterable) {
//The below structures are candidates to performance improvments:
//Creates a stack for each node, ...
Stack S = new Stack();
@@ -298,6 +299,8 @@ private double[] calculateBetweeness(Graph graph, HashMap indicie
count++;
if (cancelled) {
+ // Leaving the loop early keeps the graph read-locked unless the iterable is told
+ nodeIterable.doBreak();
return nodeBetweenness;
}