blackboard.publishChange(orgActivity);
  protected void publish(PrintWriter out) {    blackboard.openTransaction();        Collection changes = modifiedOrgActivities.values();    for (Iterator iterator = changes.iterator();         iterator.hasNext();) {      ChangeInfo changeInfo = (ChangeInfo) iterator.next();      OrgActivity orgActivity = changeInfo.getOrigOrgActivity();      OrgActivity modifiedOrgActivity = changeInfo.getModifiedOrgActivity();      // Apply changes - currently only supporting changes to the op tempo,      // start and end times.      orgActivity.setOpTempo(modifiedOrgActivity.getOpTempo());      orgActivity.setTimeSpan(modifiedOrgActivity.getTimeSpan());      /*      blackboard.publishChange(orgActivity);      System.out.println("Publish status of " + status + " for " + orgActivity);      System.out.println(orgActivity.getUID() + " " + orgActivity.getOpTempo() + " " +                          orgActivity.getTimeSpan().getStartDate() + " " +                         orgActivity.getTimeSpan().getEndDate());      */    }    /*     * KLUDGE - Don't publish the coupon because the GLSInitServlet will     * do it for us.     Collection coupons =      blackboard.query(new CouponPredicate(plan.getUID()));           for (Iterator couponIt = coupons.iterator(); couponIt.hasNext();) {     System.out.println("OplanEditServlet: publishChanging OplanCoupon");     blackboard.publishChange(couponIt.next());     }    */        displayPostSuccess(out);        blackboard.closeTransactionDontReset();    modifiedOrgActivities.clear();    orgActivities.clear();        displayOplanEdit(out, true);  }