@Override
    public void execute(IViewState viewState) {
      if (hidden.getValue() != null && hidden.getValue().equalsIgnoreCase("true")) {
        String destinationName = this.destination == null ? "postback" : this.destination;
        ViewDestination destination = viewState.getDestination(destinationName);

        if (destination != null) {
          viewState.setCurrentDestination(destination);
        } else {
          viewState.setCurrentDestination("postBack");
        }

        hidden.setValue("false");
        viewState.setSkipValidation(true);
      }
    }
    @Override
    public void linkPressed(IViewState viewState, HtmlActionLink link) {
      if (getDestination() != null) {
        viewState.setAttribute(ManageableListRenderer.MANAGED_SLOT_NAME, slot.getName());
        viewState.setAttribute(ManageableListRenderer.MANAGED_SLOT_KEY, slot.getKey());

        viewState.setCurrentDestination(getDestination());
      }
    }