/**
   * Customize something to display the Passage component
   *
   * @return The customized component
   */
  public Component getListCellRendererComponent(
      JList list, Object value, int index, boolean selected, boolean focus) {
    if (selected) {
      label.setBackground(list.getSelectionBackground());
      label.setForeground(list.getSelectionForeground());
    } else {
      label.setBackground(list.getBackground());
      label.setForeground(list.getForeground());
    }

    if (value instanceof VerseRange) {
      try {
        VerseRange range = (VerseRange) value;
        String text = (String) hash.get(range);

        if (text == null) {
          BookData bdata = new BookData(bible, range);
          String simple = OSISUtil.getCanonicalText(bdata.getOsisFragment());
          text = "<html><b>" + range.getName() + "</b> " + simple;
          hash.put(range, text);
        }

        label.setText(text);
      } catch (Exception ex) {
        Reporter.informUser(this, ex);
        // TRANSLATOR: Unexpected error condition.
        label.setText(Msg.gettext("Error"));
      }
    } else {
      label.setText((value == null) ? "" : value.toString());
    }

    label.setEnabled(list.isEnabled());
    label.setFont(list.getFont());
    label.setBorder(focus ? UIManager.getBorder("List.focusCellHighlightBorder") : border);

    return label;
  }