private boolean futurePossible(ModifierEvent modEvent, boolean side) {
private boolean futurePossible(ModifierEvent modEvent, boolean side, boolean debug) {
  private boolean futurePossible(ModifierEvent modEvent, boolean side) {    boolean onLeft = side == Constants.LEFT;    ProbabilityStructure modPS =      (onLeft ? leftModNonterminalPS : rightModNonterminalPS);    int lastLevel =      (onLeft ? leftModNonterminalPSLastLevel : rightModNonterminalPSLastLevel);    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    }    return false;  }