docs: public SufficientStatistics train(ParametricFactorGraph bn,
        SufficientStatistics initialParameters, List<DynamicAssignment> trainingData) {
      
      ExpectationMaximization em = new ExpectationMaximization(numIterations, log);
      
      EmFactorGraphOracle oracle = new EmFactorGraphOracle(bn, marginalCalculator, initialParameters);
      return em.train(oracle, initialParameters, trainingData);
    }