code: @Override
      public void waveHandled(final Wave wave) {
          this.index++;
          // Run next command if any
          if (this.waveList.size() > this.index) {
              // Try to run the next wave
              unqueueWaves();
          } else {
              // No more wave to process, we can declare the command as fully handled
              fireHandled(this.sourceWave);
          }
      }
docs: {@inheritDoc}