code: public HMM<O> learn(O[][] observations, int iterations) {
          int[][] obs = new int[observations.length][];
          for (int i = 0; i < obs.length; i++) {
              obs[i] = translate(observations[i]);
          }
  
          return learn(obs, iterations);
      }
docs: With this HMM as the initial model, learn an HMM by the Baum-Welch
  algorithm.
  
  @param observations the observation sequences on which the learning is
  based. Each sequence must have a length higher or equal to 2.
  @param iterations the number of iterations to execute.
  @return the updated HMM.