public void run() {
      for (int cnt = 0; cnt < _subjects.length; cnt++) {
        final Editable thisSubject = _subjects[cnt];
        try {
          _method.invoke(thisSubject, new Object[0]);

        } catch (final IllegalArgumentException e) {
          CorePlugin.logError(Status.ERROR, "whilst firing method from right-click", e);
        } catch (final IllegalAccessException e) {
          CorePlugin.logError(Status.ERROR, "whilst firing method from right-click", e);
        } catch (final InvocationTargetException e) {
          CorePlugin.logError(Status.ERROR, "whilst firing method from right-click", e);
        }
      }

      // hmm, the method may have actually changed the data, we need to
      // find out if it
      // needs an extend
      if (_method.isAnnotationPresent(FireExtended.class)) {
        _theLayers.fireExtended(null, _topLayer);
      } else if (_method.isAnnotationPresent(FireReformatted.class)) {
        _theLayers.fireReformatted(_topLayer);
      } else {
        // hey, let's do a redraw aswell...
        _theLayers.fireModified(_topLayer);
      }
    }
 private void fireUpdate() {
   // hmm, the method may have actually changed the data, we need to
   // find out if it
   // needs an extend
   if (_setter.isAnnotationPresent(FireExtended.class)) {
     _layers.fireExtended(null, _parentLayer);
   } else if (_setter.isAnnotationPresent(FireReformatted.class)) {
     _layers.fireReformatted(_parentLayer);
   } else {
     // hey, let's do a redraw aswell...
     _layers.fireModified(_parentLayer);
   }
 }