private void dateTableMouseClicked(MouseEvent e) {
   if (e.getClickCount() == 2) {
     try {
       DomainEditor domainEditor =
           new DomainEditor(
               ArchDescriptionDates.class,
               editorField.getParentEditor(),
               "Dates",
               new ArchDescriptionDatesFields());
       domainEditor.setCallingTable(dateTable);
       domainEditor.setNavigationButtonListeners(domainEditor);
       editRelatedRecord(dateTable, ArchDescriptionDates.class, true, domainEditor);
     } catch (UnsupportedTableModelException e1) {
       new ErrorDialog("Error creating editor for Dates", e1).showDialog();
     }
   }
 }
  private void instancesTableMouseClicked(MouseEvent e) {
    if (e.getClickCount() == 2) {
      // get the current instance record to edit
      DomainObject instanceRecord = null;
      int selectedRow = getInstancesTable().getSelectedRow();
      if (selectedRow != -1) {
        instanceRecord = getInstancesTable().getSortedList().get(selectedRow);
      }

      if (usePluginDomainEditor(false, instanceRecord, getInstancesTable())) {
        return;
      }

      if (handleTableMouseClick(e, getInstancesTable(), ArchDescriptionInstances.class)
          == JOptionPane.OK_OPTION) {
        findLocationForInstance(currentInstance);
      }
    }
  }