code: private boolean hmmBreak(Map<S, Double> message) {
          for (double logProbability : message.values()) {
              if (logProbability != Double.NEGATIVE_INFINITY) {
                  return false;
              }
          }
          return true;
      }
docs: Returns whether the specified message is either empty or only contains state candidates
  with zero probability and thus causes the HMM to break.