public void showItem() {

    if (!this.editorPanel.getViewer().isLanguageFunctionAvailable()) {

      return;
    }

    this.highlight =
        this.editorPanel
            .getEditor()
            .addHighlight(this.position, this.position + this.word.length(), null, true);

    final FindSynonymsActionHandler _this = this;

    QTextEditor editor = this.editorPanel.getEditor();

    Rectangle r = null;

    try {

      r = editor.modelToView(this.position);

    } catch (Exception e) {

      // BadLocationException!
      Environment.logError("Location: " + this.position + " is not valid", e);

      UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

      return;
    }

    int y = r.y;

    // Show a panel of all the items.
    final QPopup p = this.popup;

    p.setOpaque(false);

    Synonyms syns = null;

    try {

      syns = this.projectViewer.getSynonymProvider().getSynonyms(this.word);

    } catch (Exception e) {

      UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

      Environment.logError("Unable to lookup synonyms for: " + word, e);

      return;
    }

    if ((syns.words.size() == 0) && (this.word.toLowerCase().endsWith("ed"))) {

      // Trim off the ed and try again.
      try {

        syns = this.projectViewer.getSynonyms(this.word.substring(0, this.word.length() - 2));

      } catch (Exception e) {

        UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

        Environment.logError("Unable to lookup synonyms for: " + word, e);

        return;
      }
    }

    if ((syns.words.size() == 0) && (this.word.toLowerCase().endsWith("s"))) {

      // Trim off the ed and try again.
      try {

        syns = this.projectViewer.getSynonyms(this.word.substring(0, this.word.length() - 1));

      } catch (Exception e) {

        UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

        Environment.logError("Unable to lookup synonyms for: " + word, e);

        return;
      }
    }

    StringBuilder sb = new StringBuilder();

    if (syns.words.size() > 0) {

      sb.append("6px");

      for (int i = 0; i < syns.words.size(); i++) {

        if (sb.length() > 0) {

          sb.append(", ");
        }

        sb.append("p, 3px, [p,90px], 5px");
      }
      /*
                if (syns.words.size () > 0)
                {

                    sb.append (",5px");

                }
      */
    } else {

      sb.append("6px, p, 6px");
    }

    FormLayout summOnly = new FormLayout("3px, fill:380px:grow, 3px", sb.toString());
    PanelBuilder pb = new PanelBuilder(summOnly);

    CellConstraints cc = new CellConstraints();

    int ind = 2;

    Map<String, String> names = new HashMap();
    names.put(Synonyms.ADJECTIVE + "", "Adjectives");
    names.put(Synonyms.NOUN + "", "Nouns");
    names.put(Synonyms.VERB + "", "Verbs");
    names.put(Synonyms.ADVERB + "", "Adverbs");
    names.put(Synonyms.OTHER + "", "Other");

    if (syns.words.size() == 0) {

      JLabel l = new JLabel("No synonyms found.");
      l.setFont(l.getFont().deriveFont(Font.ITALIC));

      pb.add(l, cc.xy(2, 2));
    }

    // Determine what type of word we are looking for.
    for (Synonyms.Part i : syns.words) {

      JLabel l = new JLabel(names.get(i.type + ""));

      l.setFont(l.getFont().deriveFont(Font.ITALIC));
      l.setFont(l.getFont().deriveFont((float) UIUtils.getEditorFontSize(10)));
      l.setBorder(
          new CompoundBorder(
              new MatteBorder(0, 0, 1, 0, Environment.getBorderColor()),
              new EmptyBorder(0, 0, 3, 0)));

      pb.add(l, cc.xy(2, ind));

      ind += 2;

      HTMLEditorKit kit = new HTMLEditorKit();
      HTMLDocument doc = (HTMLDocument) kit.createDefaultDocument();

      JTextPane t = new JTextPane(doc);
      t.setEditorKit(kit);
      t.setEditable(false);
      t.setOpaque(false);

      StringBuilder buf =
          new StringBuilder(
              "<style>a { text-decoration: none; } a:hover { text-decoration: underline; }</style><span style='color: #000000; font-size: "
                  + ((int) UIUtils.getEditorFontSize(10) /*t.getFont ().getSize () + 2*/)
                  + "pt; font-family: "
                  + t.getFont().getFontName()
                  + ";'>");

      for (int x = 0; x < i.words.size(); x++) {

        String w = (String) i.words.get(x);

        buf.append("<a class='x' href='http://" + w + "'>" + w + "</a>");

        if (x < (i.words.size() - 1)) {

          buf.append(", ");
        }
      }

      buf.append("</span>");

      t.setText(buf.toString());

      t.addHyperlinkListener(
          new HyperlinkAdapter() {

            public void hyperlinkUpdate(HyperlinkEvent ev) {

              if (ev.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {

                QTextEditor ed = _this.editorPanel.getEditor();

                ed.replaceText(
                    _this.position, _this.position + _this.word.length(), ev.getURL().getHost());

                ed.removeHighlight(_this.highlight);

                _this.popup.setVisible(false);

                _this.projectViewer.fireProjectEvent(
                    ProjectEvent.SYNONYM, ProjectEvent.REPLACE, ev.getURL().getHost());
              }
            }
          });

      // Annoying that we have to do this but it prevents the text from being too small.

      t.setSize(new Dimension(380, Short.MAX_VALUE));

      JScrollPane sp = new JScrollPane(t);

      t.setCaretPosition(0);

      sp.setOpaque(false);
      sp.getVerticalScrollBar().setValue(0);
      /*
                  sp.setPreferredSize (t.getPreferredSize ());
                  sp.setMaximumSize (new Dimension (380,
                                                    75));
      */
      sp.getViewport().setOpaque(false);
      sp.setOpaque(false);
      sp.setBorder(null);
      sp.getViewport().setBackground(Color.WHITE);
      sp.setAlignmentX(Component.LEFT_ALIGNMENT);

      pb.add(sp, cc.xy(2, ind));

      ind += 2;
    }

    JPanel pan = pb.getPanel();
    pan.setOpaque(true);
    pan.setBackground(Color.WHITE);

    this.popup.setContent(pan);

    // r.y -= this.editorPanel.getScrollPane ().getVerticalScrollBar ().getValue ();

    Point po = SwingUtilities.convertPoint(editor, r.x, r.y, this.editorPanel);

    r.x = po.x;
    r.y = po.y;

    // Subtract the insets of the editorPanel.
    Insets ins = this.editorPanel.getInsets();

    r.x -= ins.left;
    r.y -= ins.top;

    this.editorPanel.showPopupAt(this.popup, r, "above", true);
  }
  @Override
  public JComponent getContent() {

    if (this.obj == null) {

      throw new IllegalStateException("No object set.");
    }

    // TODO: Make this nicer later.
    if (this.obj instanceof Chapter) {

      Chapter c = (Chapter) this.obj;

      JComponent t = UIUtils.getChapterInfoPreview(c, null, this.viewer);

      if (t == null) {

        // May be a fake chapter, return null.
        return null;
      }

      t.setSize(new Dimension(300, Short.MAX_VALUE));

      return t;

    } else {

      String firstLine = "<b><i>No description.</i></b>";

      String t = (obj.getDescription() != null ? obj.getDescription().getText() : null);

      if ((t != null) && (t.length() > 0)) {

        firstLine = new Paragraph(t, 0).getFirstSentence().getText();
      }

      JEditorPane desc = UIUtils.createHelpTextPane(firstLine, null);

      FormLayout fl = new FormLayout("380px", "p");

      PanelBuilder pb = new PanelBuilder(fl);

      CellConstraints cc = new CellConstraints();

      pb.add(desc, cc.xy(1, 1));

      desc.setAlignmentX(Component.LEFT_ALIGNMENT);

      JPanel p = pb.getPanel();
      p.setOpaque(true);
      p.setBackground(UIUtils.getComponentColor());

      return p;
    }
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Open Source Project license - unknown
    ResourceBundle bundle = ResourceBundle.getBundle("InformationDialog");
    JPanel dialogPane = new JPanel();
    JPanel contentPanel = new JPanel();
    iconLabel = new JLabel();
    pathLabel = new JLabel();
    JLabel labelFrom = new JLabel();
    fieldFrom = new JTextField();
    JLabel labelSize = new JLabel();
    fieldSize = new JTextField();
    JLabel labelDescription = new JLabel();
    JScrollPane scrollPane1 = new JScrollPane();
    descriptionArea = ComponentFactory.getTextArea();
    JPanel optionsPanel = new JPanel();
    JLabel saveToLabel = new JLabel();
    comboPath = new JComboBox();
    btnSelectPath = new JButton();
    progressBar = new JProgressBar();
    JLabel labelRemaining = new JLabel();
    remainingLabel = new JLabel();
    JLabel labelEstimateTime = new JLabel();
    estTimeLabel = new JLabel();
    JLabel labelCurrentSpeed = new JLabel();
    currentSpeedLabel = new JLabel();
    JLabel labelAverageSpeed = new JLabel();
    avgSpeedLabel = new JLabel();
    JXButtonPanel buttonBar = new JXButtonPanel();
    okButton = new JButton();
    cancelButton = new JButton();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    // ======== dialogPane ========
    {
      dialogPane.setBorder(Borders.DIALOG);
      dialogPane.setLayout(new BorderLayout());

      // ======== contentPanel ========
      {

        // ---- iconLabel ----
        iconLabel.setText(bundle.getString("iconLabel.text"));

        // ---- pathLabel ----
        pathLabel.setText(bundle.getString("pathLabel.text"));
        pathLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelFrom ----
        labelFrom.setText(bundle.getString("labelFrom.text"));

        // ---- fieldFrom ----
        fieldFrom.setBorder(null);
        fieldFrom.setOpaque(false);
        fieldFrom.setText(bundle.getString("fieldFrom.text"));

        // ---- labelSize ----
        labelSize.setText(bundle.getString("labelSize.text"));

        // ---- fieldSize ----
        fieldSize.setBorder(null);
        fieldSize.setOpaque(false);

        // ---- labelDescription ----
        labelDescription.setText(bundle.getString("labelDescription.text"));

        // ======== scrollPane1 ========
        {
          scrollPane1.setViewportView(descriptionArea);
        }

        // ======== optionsPanel ========
        {

          // ---- saveToLabel ----
          saveToLabel.setText(bundle.getString("saveToLabel.text"));
          saveToLabel.setLabelFor(comboPath);

          // ---- comboPath ----
          comboPath.setEditable(true);

          // ---- btnSelectPath ----
          btnSelectPath.setText(bundle.getString("btnSelectPath.text"));

          PanelBuilder optionsPanelBuilder =
              new PanelBuilder(
                  new FormLayout(
                      new ColumnSpec[] {
                        FormSpecs.DEFAULT_COLSPEC,
                        FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                        new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                        FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                        FormSpecs.DEFAULT_COLSPEC
                      },
                      RowSpec.decodeSpecs("default")),
                  optionsPanel);

          optionsPanelBuilder.add(saveToLabel, cc.xy(1, 1));
          optionsPanelBuilder.add(comboPath, cc.xy(3, 1));
          optionsPanelBuilder.add(btnSelectPath, cc.xy(5, 1));
        }

        // ---- progressBar ----
        progressBar.setFont(new Font("Tahoma", Font.BOLD, 16));

        // ---- labelRemaining ----
        labelRemaining.setText(bundle.getString("labelRemaining.text"));

        // ---- remainingLabel ----
        remainingLabel.setText(bundle.getString("remainingLabel.text"));
        remainingLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelEstimateTime ----
        labelEstimateTime.setText(bundle.getString("labelEstimateTime.text"));

        // ---- estTimeLabel ----
        estTimeLabel.setText(bundle.getString("estTimeLabel.text"));
        estTimeLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelCurrentSpeed ----
        labelCurrentSpeed.setText(bundle.getString("labelCurrentSpeed.text"));

        // ---- currentSpeedLabel ----
        currentSpeedLabel.setText(bundle.getString("currentSpeedLabel.text"));
        currentSpeedLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelAverageSpeed ----
        labelAverageSpeed.setText(bundle.getString("labelAverageSpeed.text"));

        // ---- avgSpeedLabel ----
        avgSpeedLabel.setText(bundle.getString("avgSpeedLabel.text"));
        avgSpeedLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        PanelBuilder contentPanelBuilder =
            new PanelBuilder(
                new FormLayout(
                    new ColumnSpec[] {
                      new ColumnSpec(Sizes.dluX(49)),
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      FormSpecs.DEFAULT_COLSPEC,
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      FormSpecs.DEFAULT_COLSPEC,
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      ColumnSpec.decode("max(min;70dlu)")
                    },
                    new RowSpec[] {
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      new RowSpec(
                          RowSpec.FILL,
                          Sizes.bounded(Sizes.PREFERRED, Sizes.dluY(40), Sizes.dluY(50)),
                          FormSpec.DEFAULT_GROW),
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      RowSpec.decode("fill:max(pref;20dlu)"),
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC
                    }),
                contentPanel);

        contentPanelBuilder.add(iconLabel, cc.xywh(1, 1, 1, 5));
        contentPanelBuilder.add(pathLabel, cc.xywh(3, 1, 7, 1));
        contentPanelBuilder.add(labelFrom, cc.xy(3, 3));
        contentPanelBuilder.add(fieldFrom, cc.xywh(5, 3, 5, 1));
        contentPanelBuilder.add(labelSize, cc.xy(3, 5));
        contentPanelBuilder.add(fieldSize, cc.xywh(5, 5, 3, 1));
        contentPanelBuilder.add(labelDescription, cc.xy(1, 7));
        contentPanelBuilder.add(scrollPane1, cc.xywh(1, 9, 9, 1));
        contentPanelBuilder.add(optionsPanel, cc.xywh(1, 11, 9, 1));
        contentPanelBuilder.add(progressBar, cc.xywh(1, 13, 9, 1));
        contentPanelBuilder.add(labelRemaining, cc.xy(1, 15));
        contentPanelBuilder.add(remainingLabel, cc.xywh(3, 15, 3, 1));
        contentPanelBuilder.add(labelEstimateTime, cc.xy(7, 15));
        contentPanelBuilder.add(estTimeLabel, cc.xy(9, 15));
        contentPanelBuilder.add(labelCurrentSpeed, cc.xy(1, 17));
        contentPanelBuilder.add(currentSpeedLabel, cc.xywh(3, 17, 3, 1));
        contentPanelBuilder.add(labelAverageSpeed, cc.xy(7, 17));
        contentPanelBuilder.add(avgSpeedLabel, cc.xy(9, 17));
      }
      dialogPane.add(contentPanel, BorderLayout.CENTER);

      // ======== buttonBar ========
      {
        buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));

        // ---- okButton ----
        okButton.setText(bundle.getString("okButton.text"));

        // ---- cancelButton ----
        cancelButton.setText(bundle.getString("cancelButton.text"));

        PanelBuilder buttonBarBuilder =
            new PanelBuilder(
                new FormLayout(
                    new ColumnSpec[] {
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                      FormSpecs.UNRELATED_GAP_COLSPEC,
                      ColumnSpec.decode("max(pref;55dlu)"),
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      FormSpecs.DEFAULT_COLSPEC
                    },
                    RowSpec.decodeSpecs("fill:pref")),
                buttonBar);
        ((FormLayout) buttonBar.getLayout()).setColumnGroups(new int[][] {{3, 5}});

        buttonBarBuilder.add(okButton, cc.xy(3, 1));
        buttonBarBuilder.add(cancelButton, cc.xy(5, 1));
      }
      dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();
    setLocationRelativeTo(getOwner());
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    panel7 = new JPanel();
    panel3 = new JPanel();
    label_resourcesLevel = new JLabel();
    resourcesLevel =
        ATBasicComponentFactory.createComboBox(
            detailsModel, ResourcesComponents.PROPERTYNAME_LEVEL, ResourcesComponents.class);
    panel12 = new JPanel();
    label3 = new JLabel();
    resourcesDateBegin2 =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_PERSISTENT_ID));
    label_otherLevel = new JLabel();
    resourcesOtherLevel =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_OTHER_LEVEL), false);
    label_resourcesTitle = new JLabel();
    scrollPane42 = new JScrollPane();
    resourcesTitle =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(ArchDescription.PROPERTYNAME_TITLE), false);
    tagApplicatorPanel = new JPanel();
    insertInlineTag =
        ATBasicComponentFactory.createUnboundComboBox(
            InLineTagsUtils.getInLineTagList(InLineTagsUtils.TITLE));
    label_repositoryName4 = new JLabel();
    scrollPane8 = new JScrollPane();
    dateTable = new DomainSortableTable(ArchDescriptionDates.class);
    panel22 = new JPanel();
    addDate = new JButton();
    removeDate = new JButton();
    panel9 = new JPanel();
    label_resourcesLanguageCode2 = new JLabel();
    resourcesLanguageCode =
        ATBasicComponentFactory.createComboBox(
            detailsModel,
            ResourcesComponents.PROPERTYNAME_LANGUAGE_CODE,
            ResourcesComponents.class);
    panel23 = new JPanel();
    label_resourcesLanguageNote2 = new JLabel();
    scrollPane423 = new JScrollPane();
    resourcesLanguageNote =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE),
            false);
    separator2 = new JSeparator();
    panel10 = new JPanel();
    panel1 = new JPanel();
    label_resourcesLevel2 = new JLabel();
    subdivisionIdentifier =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_UNIQUE_IDENTIFIER), false);
    label_repositoryName5 = new JLabel();
    scrollPane9 = new JScrollPane();
    physicalDescriptionsTable = new DomainSortableTable(ArchDescriptionPhysicalDescriptions.class);
    panel24 = new JPanel();
    addPhysicalDescription = new JButton();
    removePhysicalDescription = new JButton();
    panel2 = new JPanel();
    panel6 = new JPanel();
    label1 = new JLabel();
    scrollPane4 = new JScrollPane();
    instancesTable =
        new DomainSortableTable(
            ArchDescriptionInstances.class, ArchDescriptionInstances.PROPERTYNAME_INSTANCE_TYPE);
    panel13 = new JPanel();
    addInstanceButton = new JButton();
    removeInstanceButton = new JButton();
    panel4 = new JPanel();
    restrictionsApply2 =
        ATBasicComponentFactory.createCheckBox(
            detailsModel,
            ResourcesComponents.PROPERTYNAME_INTERNAL_ONLY,
            ResourcesComponents.class);
    resourcesRestrictionsApply =
        ATBasicComponentFactory.createCheckBox(
            detailsModel,
            ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY,
            ResourcesComponents.class);
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setBackground(new Color(200, 205, 232));
    setLayout(
        new FormLayout(
            new ColumnSpec[] {
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              FormFactory.DEFAULT_COLSPEC
            },
            RowSpec.decodeSpecs("default")));

    // ======== panel7 ========
    {
      panel7.setOpaque(false);
      panel7.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel7.setBorder(Borders.DLU2_BORDER);
      panel7.setLayout(
          new FormLayout(
              ColumnSpec.decodeSpecs("default:grow"),
              new RowSpec[] {
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
              }));

      // ======== panel3 ========
      {
        panel3.setOpaque(false);
        panel3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel3.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.MIN_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.RIGHT, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- label_resourcesLevel ----
        label_resourcesLevel.setText("Level");
        label_resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLevel,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_LEVEL);
        panel3.add(
            label_resourcesLevel,
            cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- resourcesLevel ----
        resourcesLevel.setOpaque(false);
        resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        resourcesLevel.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                resourcesLevelActionPerformed();
              }
            });
        panel3.add(
            resourcesLevel, cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        // ======== panel12 ========
        {
          panel12.setOpaque(false);
          panel12.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- label3 ----
          label3.setText("Persistent ID");
          label3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label3, ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_PERSISTENT_ID);
          panel12.add(label3, cc.xy(1, 1));

          // ---- resourcesDateBegin2 ----
          resourcesDateBegin2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          resourcesDateBegin2.setEditable(false);
          resourcesDateBegin2.setOpaque(false);
          panel12.add(resourcesDateBegin2, cc.xy(3, 1));
        }
        panel3.add(panel12, cc.xy(5, 1));

        // ---- label_otherLevel ----
        label_otherLevel.setText("Other Level");
        label_otherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_otherLevel,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_OTHER_LEVEL);
        panel3.add(
            label_otherLevel, cc.xywh(1, 3, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- resourcesOtherLevel ----
        resourcesOtherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel3.add(resourcesOtherLevel, cc.xywh(3, 3, 3, 1));

        // ---- label_resourcesTitle ----
        label_resourcesTitle.setText("Title");
        label_resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesTitle,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_TITLE);
        panel3.add(label_resourcesTitle, cc.xywh(1, 5, 5, 1));

        // ======== scrollPane42 ========
        {
          scrollPane42.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane42.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesTitle ----
          resourcesTitle.setRows(4);
          resourcesTitle.setLineWrap(true);
          resourcesTitle.setWrapStyleWord(true);
          resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          scrollPane42.setViewportView(resourcesTitle);
        }
        panel3.add(scrollPane42, cc.xywh(1, 7, 5, 1));

        // ======== tagApplicatorPanel ========
        {
          tagApplicatorPanel.setOpaque(false);
          tagApplicatorPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- insertInlineTag ----
          insertInlineTag.setOpaque(false);
          insertInlineTag.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          insertInlineTag.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  insertInlineTagActionPerformed();
                }
              });
          tagApplicatorPanel.add(insertInlineTag, cc.xy(1, 1));
        }
        panel3.add(tagApplicatorPanel, cc.xywh(1, 9, 5, 1));
      }
      panel7.add(panel3, cc.xywh(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ---- label_repositoryName4 ----
      label_repositoryName4.setText("Dates");
      label_repositoryName4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel7.add(label_repositoryName4, cc.xy(1, 3));

      // ======== scrollPane8 ========
      {
        scrollPane8.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scrollPane8.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        scrollPane8.setPreferredSize(new Dimension(200, 104));

        // ---- dateTable ----
        dateTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
        dateTable.addMouseListener(
            new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent e) {
                dateTableMouseClicked(e);
              }
            });
        scrollPane8.setViewportView(dateTable);
      }
      panel7.add(scrollPane8, cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ======== panel22 ========
      {
        panel22.setBackground(new Color(231, 188, 251));
        panel22.setOpaque(false);
        panel22.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel22.setMinimumSize(new Dimension(100, 29));
        panel22.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- addDate ----
        addDate.setText("Add Date");
        addDate.setOpaque(false);
        addDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        addDate.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                addDateActionPerformed(e);
              }
            });
        panel22.add(addDate, cc.xy(1, 1));

        // ---- removeDate ----
        removeDate.setText("Remove Date");
        removeDate.setOpaque(false);
        removeDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        removeDate.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                removeDateActionPerformed(e);
              }
            });
        panel22.add(removeDate, cc.xy(3, 1));
      }
      panel7.add(panel22, cc.xywh(1, 7, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

      // ======== panel9 ========
      {
        panel9.setOpaque(false);
        panel9.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec("left:min(default;200px)")
                },
                RowSpec.decodeSpecs("default")));

        // ---- label_resourcesLanguageCode2 ----
        label_resourcesLanguageCode2.setText("Lanaguage");
        label_resourcesLanguageCode2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLanguageCode2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_LANGUAGE_CODE);
        panel9.add(label_resourcesLanguageCode2, cc.xy(1, 1));

        // ---- resourcesLanguageCode ----
        resourcesLanguageCode.setMaximumSize(new Dimension(150, 32767));
        resourcesLanguageCode.setOpaque(false);
        resourcesLanguageCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel9.add(
            resourcesLanguageCode,
            cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
      }
      panel7.add(panel9, cc.xy(1, 9));

      // ======== panel23 ========
      {
        panel23.setOpaque(false);
        panel23.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel23.setLayout(
            new FormLayout(
                ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                }));

        // ---- label_resourcesLanguageNote2 ----
        label_resourcesLanguageNote2.setText("Repository Processing Note");
        label_resourcesLanguageNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLanguageNote2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE);
        panel23.add(
            label_resourcesLanguageNote2,
            new CellConstraints(
                1,
                1,
                1,
                1,
                CellConstraints.DEFAULT,
                CellConstraints.DEFAULT,
                new Insets(0, 10, 0, 0)));

        // ======== scrollPane423 ========
        {
          scrollPane423.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane423.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesLanguageNote ----
          resourcesLanguageNote.setRows(4);
          resourcesLanguageNote.setWrapStyleWord(true);
          resourcesLanguageNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          scrollPane423.setViewportView(resourcesLanguageNote);
        }
        panel23.add(
            scrollPane423,
            new CellConstraints(
                1,
                3,
                1,
                1,
                CellConstraints.DEFAULT,
                CellConstraints.DEFAULT,
                new Insets(0, 10, 0, 0)));
      }
      panel7.add(panel23, cc.xy(1, 11));
    }
    add(panel7, cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

    // ---- separator2 ----
    separator2.setForeground(new Color(147, 131, 86));
    separator2.setOrientation(SwingConstants.VERTICAL);
    add(separator2, cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL));

    // ======== panel10 ========
    {
      panel10.setOpaque(false);
      panel10.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel10.setBorder(Borders.DLU2_BORDER);
      panel10.setLayout(
          new FormLayout(
              ColumnSpec.decodeSpecs("default:grow"),
              new RowSpec[] {
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC
              }));

      // ======== panel1 ========
      {
        panel1.setOpaque(false);
        panel1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel1.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                RowSpec.decodeSpecs("default")));

        // ---- label_resourcesLevel2 ----
        label_resourcesLevel2.setText("Component Unique Identifier");
        label_resourcesLevel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLevel2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_UNIQUE_IDENTIFIER);
        panel1.add(
            label_resourcesLevel2,
            cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- subdivisionIdentifier ----
        subdivisionIdentifier.setColumns(5);
        subdivisionIdentifier.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel1.add(
            subdivisionIdentifier,
            cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
      }
      panel10.add(panel1, cc.xy(1, 1));

      // ---- label_repositoryName5 ----
      label_repositoryName5.setText("Physical Description");
      label_repositoryName5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel10.add(label_repositoryName5, cc.xy(1, 3));

      // ======== scrollPane9 ========
      {
        scrollPane9.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scrollPane9.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        scrollPane9.setPreferredSize(new Dimension(200, 104));

        // ---- physicalDescriptionsTable ----
        physicalDescriptionsTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
        physicalDescriptionsTable.addMouseListener(
            new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent e) {
                physicalDescriptionMouseClicked(e);
              }
            });
        scrollPane9.setViewportView(physicalDescriptionsTable);
      }
      panel10.add(scrollPane9, cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ======== panel24 ========
      {
        panel24.setBackground(new Color(231, 188, 251));
        panel24.setOpaque(false);
        panel24.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel24.setMinimumSize(new Dimension(100, 29));
        panel24.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- addPhysicalDescription ----
        addPhysicalDescription.setText("Add Description");
        addPhysicalDescription.setOpaque(false);
        addPhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        addPhysicalDescription.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                addPhysicalDescriptionActionPerformed();
              }
            });
        panel24.add(addPhysicalDescription, cc.xy(1, 1));

        // ---- removePhysicalDescription ----
        removePhysicalDescription.setText("Remove Description");
        removePhysicalDescription.setOpaque(false);
        removePhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        removePhysicalDescription.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                removePhysicalDescriptionActionPerformed();
              }
            });
        panel24.add(removePhysicalDescription, cc.xy(3, 1));
      }
      panel10.add(panel24, cc.xywh(1, 7, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

      // ======== panel2 ========
      {
        panel2.setBackground(new Color(182, 187, 212));
        panel2.setBorder(new BevelBorder(BevelBorder.LOWERED));
        panel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel2.setLayout(new FormLayout("default:grow", "fill:default:grow"));

        // ======== panel6 ========
        {
          panel6.setOpaque(false);
          panel6.setBorder(Borders.DLU2_BORDER);
          panel6.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.RELATED_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                  },
                  new RowSpec[] {
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC
                  }));

          // ---- label1 ----
          label1.setText("Instances");
          label1.setForeground(new Color(0, 0, 102));
          label1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label1, ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_INSTANCES);
          panel6.add(label1, cc.xywh(1, 1, 2, 1));

          // ======== scrollPane4 ========
          {
            scrollPane4.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            // ---- instancesTable ----
            instancesTable.setPreferredScrollableViewportSize(new Dimension(200, 75));
            instancesTable.setRowHeight(20);
            instancesTable.addMouseListener(
                new MouseAdapter() {
                  @Override
                  public void mouseClicked(MouseEvent e) {
                    instancesTableMouseClicked(e);
                  }
                });
            scrollPane4.setViewportView(instancesTable);
          }
          panel6.add(scrollPane4, cc.xy(2, 3));

          // ======== panel13 ========
          {
            panel13.setBackground(new Color(231, 188, 251));
            panel13.setOpaque(false);
            panel13.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel13.setLayout(
                new FormLayout(
                    new ColumnSpec[] {
                      FormFactory.DEFAULT_COLSPEC,
                      FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                      FormFactory.DEFAULT_COLSPEC
                    },
                    RowSpec.decodeSpecs("default")));

            // ---- addInstanceButton ----
            addInstanceButton.setBackground(new Color(231, 188, 251));
            addInstanceButton.setText("Add Instance");
            addInstanceButton.setOpaque(false);
            addInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            addInstanceButton.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    addInstanceButtonActionPerformed();
                  }
                });
            panel13.add(addInstanceButton, cc.xy(1, 1));

            // ---- removeInstanceButton ----
            removeInstanceButton.setBackground(new Color(231, 188, 251));
            removeInstanceButton.setText("Remove Instance");
            removeInstanceButton.setOpaque(false);
            removeInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            removeInstanceButton.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    removeInstanceButtonActionPerformed();
                  }
                });
            panel13.add(removeInstanceButton, cc.xy(3, 1));
          }
          panel6.add(panel13, cc.xywh(1, 5, 2, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
        }
        panel2.add(panel6, cc.xy(1, 1));
      }
      panel10.add(panel2, cc.xy(1, 9));

      // ======== panel4 ========
      {
        panel4.setOpaque(false);
        panel4.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- restrictionsApply2 ----
        restrictionsApply2.setBackground(new Color(231, 188, 251));
        restrictionsApply2.setText("Internal Only");
        restrictionsApply2.setOpaque(false);
        restrictionsApply2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        restrictionsApply2.setText(
            ATFieldInfo.getLabel(
                ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_INTERNAL_ONLY));
        panel4.add(restrictionsApply2, cc.xy(1, 1));

        // ---- resourcesRestrictionsApply ----
        resourcesRestrictionsApply.setBackground(new Color(231, 188, 251));
        resourcesRestrictionsApply.setText("Restrictions Apply");
        resourcesRestrictionsApply.setOpaque(false);
        resourcesRestrictionsApply.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        resourcesRestrictionsApply.setText(
            ATFieldInfo.getLabel(
                ResourcesComponents.class, ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY));
        panel4.add(resourcesRestrictionsApply, cc.xy(3, 1));
      }
      panel10.add(panel4, cc.xy(1, 11));
    }
    add(panel10, cc.xywh(5, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }