protected void appendParameters(StringBuffer sb) {
   for (String parameterName : snapshotParameterSet.getValues().keySet()) {
     List<SnapshotParameterValueObject> values = snapshotParameterSet.getValues(parameterName);
     if (values != null && values.size() > 0) {
       sb.append("<tr><td class=\"sbam-report-parm\">");
       sb.append(SnapshotParameterNames.getLabel(parameterName));
       sb.append("</td><td class=\"sbam-report-value\">");
       int count = 0;
       for (SnapshotParameterValueObject value : values) {
         if (count > 0) sb.append(", ");
         sb.append(getTranslatedValue(parameterName, value.toString()));
         count++;
       }
     }
     sb.append("</td></tr>");
   }
 }
 /**
  * Format the contents of the tooltip.
  *
  * <p>Note that this function must wait for the states to load (if they are needed) before
  * continuing. This is done with a timer.
  */
 protected void formatToolTip() {
   if (snapshotParameterSet != null
       && snapshotParameterSet.getValues().containsKey(SnapshotParameterNames.INSTITUTION_STATE)
       && !UiConstants.areInstitutionStatesLoaded()) {
     UiConstants.loadInstitutionStates();
     Timer timer =
         new Timer() {
           @Override
           public void run() {
             if (UiConstants.areInstitutionStatesLoaded()) {
               this.cancel();
               formatToolTipNoWait();
             }
           }
         };
     timer.scheduleRepeating(200);
   } else {
     formatToolTipNoWait();
   }
 }