protected void callSelectListeners(final SelectEvent event) {
   EventQueue.invokeLater(
       new Runnable() {
         public void run() {
           for (SelectListener listener : eventListeners.getListeners(SelectListener.class)) {
             listener.selected(event);
           }
         }
       });
 }
 protected void callPositionListeners(final PositionEvent event) {
   EventQueue.invokeLater(
       new Runnable() {
         public void run() {
           for (PositionListener listener : eventListeners.getListeners(PositionListener.class)) {
             listener.moved(event);
           }
         }
       });
 }
 protected void callRenderingExceptionListeners(final Throwable exception) {
   EventQueue.invokeLater(
       new Runnable() {
         public void run() {
           for (RenderingExceptionListener listener :
               eventListeners.getListeners(RenderingExceptionListener.class)) {
             listener.exceptionThrown(exception);
           }
         }
       });
 }