code: final void innerRun(final Wave wave) throws CommandException {
          beforePerform(wave);
          perform(wave);
          afterPerform(wave);
      }
docs: Run the inner task.
  
  @param wave the wave that have triggered this command
  
  @throws CommandException if an error occurred