/**
   * return a list of silverContent according to a list of publicationPK
   *
   * @param ids a list of publicationPK
   * @return a list of publicationDetail
   */
  private List<PublicationDetail> getHeaders(
      List<PublicationPK> ids, String componentId, String userId) {
    List<PublicationDetail> headers = new ArrayList<PublicationDetail>();
    try {
      KmeliaSecurity security = new KmeliaSecurity();
      boolean checkRights = security.isRightsOnTopicsEnabled(componentId);

      Collection<PublicationDetail> publicationDetails = getPublicationBm().getPublications(ids);
      for (PublicationDetail pubDetail : publicationDetails) {
        if (!checkRights || security.isPublicationAvailable(pubDetail.getPK(), userId)) {
          pubDetail.setIconUrl("kmeliaSmall.gif");
          headers.add(pubDetail);
        }
      }
    } catch (RemoteException e) {
      // skip unknown and ill formed id.
    }
    return headers;
  }