void () { if (myClickIsBeingProcessed) return; try { myClickIsBeingProcessed = true; if (myLinkListener != null) { myLinkListener.linkSelected(this, myLinkData); } if (myVisitedLinksKey != null) { ourVisitedLinks.add(myVisitedLinksKey); } repaint(); } finally { myClickIsBeingProcessed = false; } }