/**
   * Highlight concepts that have already been resolved, but do not run solver. Otherwise, do
   * nothing.
   *
   * @param objects The set of objects to highlight.
   * @exception IllegalActionException Thrown if there is an error getting the colors for the
   *     resolved concept values.
   */
  public void highlightConcepts(Set<Object> objects) throws IllegalActionException {
    if (objects != null) {
      // Get the PropertySolver.
      OntologySolver solver = (OntologySolver) getContainer();

      for (Object object : objects) {
        if (object instanceof NamedObj) {
          Concept concept = solver.getConcept(object);
          if (concept != null) {
            ColorAttribute conceptColor = concept.getColor();
            if (conceptColor != null) {
              String request =
                  "<property name=\"_highlightColor\" "
                      + "class=\"ptolemy.actor.gui.ColorAttribute\" value=\""
                      + conceptColor.getExpression()
                      + "\"/>";
              MoMLChangeRequest change =
                  new MoMLChangeRequest(this, (NamedObj) object, request, false);
              ((NamedObj) object).requestChange(change);
            }
          }
        }
      }
      // Force a single repaint after all the above requests have been processed.
      solver.requestChange(new MoMLChangeRequest(this, solver, "<group/>"));
    }
  }