code: @Override
      protected void perform(final Wave wave) {
  
          // Retrieved the model class
          // final Class<? extends Model> modelClass = (Class<? extends Model>) getWaveBean(wave).getShowModelKey().getClass();
  
          // final Object[] keyPart = getWaveBean(wave).getKeyPart() == null ? null : getWaveBean(wave).getKeyPart().toArray();
  
          final DisplayModelWaveBean wb = waveBean(wave);
          final ModelConfig<?, ?> data = wb.showModelData();
  
          final UniqueKey<? extends Model> showModelKey = data != null ? Key.create(data.modelClass(), data) : wb.showModelKey();
  
          if (showModelKey == null) {
              LOGGER.error("ModelClass is null");
              throw new CoreRuntimeException("Illegal action : Model Class is null");
          }
          // Retrieve the mode according to its keyPart
          final Model modelInstance = localFacade().globalFacade().uiFacade().retrieve(showModelKey);
  
          //
          // if (keyPart == null) {
          // modelInstance = getLocalFacade().getGlobalFacade().getUiFacade().retrieve(modelClass);
          // } else {
          // modelInstance = getLocalFacade().getGlobalFacade().getUiFacade().retrieve(modelClass, keyPart);
          // }
  
          if (modelInstance == null) {
              LOGGER.error("Model " + showModelKey.classField().getSimpleName() + " couldn't be created");
              throw new CoreRuntimeException("Illegal action : Model Instance is null: " + showModelKey.classField().getName());
          }
  
          // Attach the model to allow reuse later in the process
          waveBean(wave).showModel(modelInstance);
  
          // Build the first root node into the thread pool and link it to the waveBean
          // getWaveBean(wave).setCreatedNode(modelInstance.getRootNode());
      }
docs: {@inheritDoc}