/**
  * Tells whether the action of this guard can be seen or not
  *
  * @return <code>true</code> if the action can be seen
  */
 public boolean isVisible() {
   return source.getDockActionCount() > 0;
 }
 /**
  * Sets the visibility of the action. The visibility can be changed at any time and has effect on
  * all occurrences of the action.
  *
  * @param visible the new state
  */
 public void setVisible(boolean visible) {
   if (visible != isVisible()) {
     if (visible) source.add(action);
     else source.remove(0, source.getDockActionCount());
   }
 }