docs: public void execute(StepTemplate stepTemplate, Object[] args) {
          Template steps = new Template();
          steps.setActions(stepTemplate.getActions());
          steps.setActor(stepTemplate.getActor());
  
          TemplateBuilder templateBuilder = new TemplateBuilder(steps)
              .name(stepTemplate.getName())
              .globalContext(stepTemplate.isGlobalContext());
  
          if (stepTemplate.getParameterNames().size() != args.length) {
              throw new CitrusRuntimeException(String.format("Step argument mismatch for template '%s', expected %s arguments but found %s",
                      stepTemplate.getName(), stepTemplate.getParameterNames().size(), args.length));
          }
  
          for (int i = 0; i < args.length; i++) {
              templateBuilder.parameter(stepTemplate.getParameterNames().get(i), args[i].toString());
          }
  
          if (designer != null) {
              designer.action(templateBuilder);
          }
  
          if (runner != null) {
              runner.run(templateBuilder.build());
          }
      }