diff --git a/prism/src/explicit/DTMCExplicit.java b/prism/src/explicit/DTMCExplicit.java index 76e5d670..3982e5c5 100644 --- a/prism/src/explicit/DTMCExplicit.java +++ b/prism/src/explicit/DTMCExplicit.java @@ -28,6 +28,7 @@ package explicit; import java.io.FileWriter; import java.io.IOException; +import java.util.AbstractMap; import java.util.BitSet; import java.util.Iterator; import java.util.Map; @@ -181,8 +182,8 @@ public abstract class DTMCExplicit extends ModelExplicit implements DTMC result[s] = mvMultRewSingle(s, vect, mcRewards); } } - - public class AddDefaultActionToTransitionsIterator implements Iterator>> + + public class AddDefaultActionToTransitionsIterator implements Iterator>> { private Iterator> transIter; private Object defaultAction; @@ -198,27 +199,9 @@ public abstract class DTMCExplicit extends ModelExplicit implements DTMC public Entry> next() { next = transIter.next(); - Entry> next2 = new Entry>() - { - @Override - public Pair setValue(Pair value) - { - return null; // read-only - } - - @Override - public Pair getValue() - { - return new Pair(next.getValue(), defaultAction); - } - - @Override - public Integer getKey() - { - return next.getKey(); - } - }; - return next2; + final Integer state = next.getKey(); + final Double probability = next.getValue(); + return new AbstractMap.SimpleImmutableEntry<>(state, new Pair<>(probability, defaultAction)); } @Override @@ -226,7 +209,7 @@ public abstract class DTMCExplicit extends ModelExplicit implements DTMC { return transIter.hasNext(); } - + @Override public void remove() {