history = new SexpEvent(maxEventComponents()); future = new SexpEvent(maxEventComponents()); historyWithSubcat = new SexpSubcatEvent(maxEventComponents()); futureWithSubcat = new SexpSubcatEvent(maxEventComponents());
histories = new SexpEvent[numLevels()]; for (int i = 0; i < histories.length; i++) histories[i] = new SexpEvent(maxEventComponents()); futures = new SexpEvent[numLevels()]; for (int i = 0; i < futures.length; i++) futures[i] = new SexpEvent(maxEventComponents()); historiesWithSubcats = new SexpSubcatEvent[numLevels()]; for (int i = 0; i < historiesWithSubcats.length; i++) historiesWithSubcats[i] = new SexpSubcatEvent(maxEventComponents()); futuresWithSubcats = new SexpSubcatEvent[numLevels()]; for (int i = 0; i < futuresWithSubcats.length; i++) futuresWithSubcats[i] = new SexpSubcatEvent(maxEventComponents());  transitions = new Transition[numLevels()]; for (int i = 0; i < transitions.length; i++) transitions[i] = new Transition(null, null);
  protected ProbabilityStructure() {    history = new SexpEvent(maxEventComponents());    future = new SexpEvent(maxEventComponents());    historyWithSubcat = new SexpSubcatEvent(maxEventComponents());    futureWithSubcat = new SexpSubcatEvent(maxEventComponents());    ///////////////////////////////////////////////////////////////////////////    // no longer needed    historyList = new SexpList(maxEventComponents());    futureList = new SexpList(maxEventComponents());    ///////////////////////////////////////////////////////////////////////////    estimates = new double[numLevels()];    lambdas = new double[numLevels()];  }