code: @Override
      protected void perform(final Wave wave) {
  
          LOGGER.info("Trigger stage action " + waveBean(wave).action());
  
          switch (waveBean(wave).action()) {
              case show:
                  returnData(StageService.class, StageService.DO_OPEN_STAGE, waveBean(wave));
                  break;
              case hide:
                  returnData(StageService.class, StageService.DO_CLOSE_STAGE, waveBean(wave));
                  break;
              case destroy:
                  returnData(StageService.class, StageService.DO_DESTROY_STAGE, waveBean(wave));
                  break;
              default:
                  LOGGER.error("Undefined StageAction");
          }
  
      }
docs: {@inheritDoc}