Map modMap = (onLeft ? leftModNonterminalMap : rightModNonterminalMap);
  private boolean futurePossible(ModifierEvent modEvent, boolean side,				 boolean debug) {    ProbabilityStructure modPS = modNonterminalPS;    int lastLevel = modNonterminalPSLastLevel;    boolean onLeft = side == Constants.LEFT;    Map modMap = (onLeft ? leftModNonterminalMap : rightModNonterminalMap);    Event historyContext = modPS.getHistory(modEvent, lastLevel);    Set possibleFutures = (Set)modMap.get(historyContext);    if (possibleFutures != null) {      Event currentFuture = modPS.getFuture(modEvent, lastLevel);      if (possibleFutures.contains(currentFuture))        return true;    }    else {      //no possible futures for history context    }    if (debug) {      Event currentFuture = modPS.getFuture(modEvent, lastLevel);      if (possibleFutures == null)	System.err.println(className + ".futurePossible: history context " +			   historyContext + " not seen in training");      else if (!possibleFutures.contains(currentFuture))	System.err.println(className + ".futurePossible: future " +			   currentFuture + " not found for history context " +			   historyContext);    }    return false;  }