diff --git a/src/main/java/org/lemsml/jlems/core/run/StateInstance.java b/src/main/java/org/lemsml/jlems/core/run/StateInstance.java index 7595e156..a87ef92e 100644 --- a/src/main/java/org/lemsml/jlems/core/run/StateInstance.java +++ b/src/main/java/org/lemsml/jlems/core/run/StateInstance.java @@ -300,6 +300,9 @@ public void advance(StateRunnable parent, double t, double dt) throws RuntimeErr public void transitionTo(String rnm) throws RuntimeError { + if (regimeHM == null) { + throw new IllegalStateException("No Regimes."); + } activeRegime = regimeHM.get(rnm); activeRegime.enter(); } @@ -314,6 +317,9 @@ public void doneInit() { public void initRegime() throws RuntimeError { if (activeRegime == null) { + if (regimeHM == null || regimeHM.isEmpty()) { + throw new IllegalStateException("No Regimes."); + } activeRegime = regimeHM.get(regimeHM.keySet().iterator().next()); // TODO just picks random regime }