/**
   * Displays the annotations.
   *
   * @param list The annotations to display.
   */
  private void displayAnnotations(List list) {
    annotationToDisplay = list;

    boolean enabled = model.canAnnotate();
    if (enabled && model.isMultiSelection()) {
      enabled = !model.isAcrossGroups();
    }
    commentArea.setEnabled(enabled);

    buildGUI();

    if (!CollectionUtils.isEmpty(list)) {
      for (Object obj : annotationToDisplay) {
        TextualAnnotationData data = (TextualAnnotationData) obj;
        if (filter == Filter.SHOW_ALL
            || (filter == Filter.ADDED_BY_ME && model.isLinkOwner(data)
                || (filter == Filter.ADDED_BY_OTHERS && model.isAnnotatedByOther(data)))) {
          TextualAnnotationComponent comp = new TextualAnnotationComponent(model, data);
          comp.addPropertyChangeListener(controller);
          comp.setAreaColor(bgColor);
          add(comp, constraints);
          constraints.gridy++;

          if (bgColor == UIUtilities.BACKGROUND_COLOUR_ODD)
            bgColor = UIUtilities.BACKGROUND_COLOUR_EVEN;
          else bgColor = UIUtilities.BACKGROUND_COLOUR_ODD;
        }
      }
    }

    revalidate();
    repaint();
  }