code: @SuppressWarnings("unchecked")
      @Override
      public <WB extends WaveBean> WB waveBean(final Class<WB> waveBeanClass) {
          if (!getWaveBeanMap().containsKey(waveBeanClass)) {
              try {
                  final WB waveBean = waveBeanClass.newInstance();
  
                  getWaveBeanMap().put(waveBeanClass, waveBean);
  
              } catch (InstantiationException | IllegalAccessException e) {
                  LOGGER.error(WAVE_BEAN_CREATION_ERROR, e, waveBeanClass.toString());
              } finally {
                  // if (this.waveBean == null) {
                  // this.waveBean = new DefaultWaveBean();
                  // }
              }
  
          }
  
          return (WB) getWaveBeanMap().get(waveBeanClass);
      }
docs: {@inheritDoc}