docs: @Override
      protected void doHandle(CommandContext ctx) throws CommandLineException {
  
          String argsStr = ctx.getArgumentsString();
          if(argsStr == null) {
              throw new CommandFormatException("The command is missing arguments.");
          }
  
          final BatchManager batchManager = ctx.getBatchManager();
          if(batchManager.isBatchActive()) {
              throw new CommandFormatException("if is not allowed while in batch mode.");
          }
  
          final ParsedCommandLine args = ctx.getParsedCommandLine();
          final String conditionStr = this.condition.getOriginalValue(args, true);
          int i = argsStr.indexOf(conditionStr);
          if(i < 0) {
              throw new CommandFormatException("Failed to locate '" + conditionStr + "' in '" + argsStr + "'");
          }
          i = argsStr.indexOf("of", i + conditionStr.length());
          if(i < 0) {
              throw new CommandFormatException("Failed to locate 'of' in '" + argsStr + "'");
          }
  
          final String requestStr = argsStr.substring(i + 2);
          ctx.registerRedirection(new IfElseControlFlow(ctx, condition.resolveOperation(args), requestStr));
      }