getBlackboardService().openTransaction();
  protected void setupOperatingModes () {    try {      getBlackboardService().openTransaction();      OMCRange level2Range = new IntRange (LEVEL_2_MIN.intValue(), LEVEL_2_MAX.intValue());      OMCRangeList rangeList = new OMCRangeList (level2Range);      publishAdd (level2Horizon = new OperatingModeImpl (LEVEL_2_TIME_HORIZON+"_"+supplyType, rangeList, 							 LEVEL_2_TIME_HORIZON_DEFAULT));      OMCRange level6Range = new IntRange (LEVEL_6_MIN.intValue(), LEVEL_6_MAX.intValue());      rangeList = new OMCRangeList (level6Range);      publishAdd (level6Horizon = new OperatingModeImpl (LEVEL_6_TIME_HORIZON+"_"+supplyType, rangeList,							 LEVEL_6_TIME_HORIZON_DEFAULT));    } catch (Exception e) {        if (logger.isErrorEnabled()) {        logger.error ("" + getMyOrganization() + " got exception creating operating modes.", e);       }    } finally {      getBlackboardService().closeTransaction();    }    if(logger.isInfoEnabled()) {      logger.info ("" + getMyOrganization() + " created operating modes - " + 		   "level 2 time horizon is " + level2Horizon + 		   " and level 6 is " + level6Horizon);    }  }