public void visit(LinkModel link) {
   try {
     // make sure to reload
     editorPane.getDocument().putProperty(Document.StreamDescriptionProperty, null);
     // JW: editorPane defaults to asynchronous loading
     // no need to explicitly start a thread - really?
     editorPane.setPage(link.getURL());
     link.setVisited(true);
   } catch (IOException e1) {
     editorPane.setText("<html>Error 404: couldn't show " + link.getURL() + " </html>");
   }
 }
 public EditorPaneLinkVisitor(JXEditorPane pane) {
   if (pane == null) {
     pane = createDefaultEditorPane();
   }
   this.editorPane = pane;
   pane.addHyperlinkListener(getHyperlinkListener());
 }
 protected JXEditorPane createDefaultEditorPane() {
   final JXEditorPane editorPane = new JXEditorPane();
   editorPane.setEditable(false);
   editorPane.setContentType("text/html");
   return editorPane;
 }