docs: @Override
      public void validate() {
          //validate the parameters
          String target = getTargetName();
          if (maxRetries() < -1) {
  
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "retry.parameter.invalid.value.CWMFT5010E", "maxRetries", maxRetries(), target, "-1"));
          }
          if ((delay() < 0)) {
  
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "retry.parameter.invalid.value.CWMFT5010E", "delay", delay(), target, "0"));
          }
          if ((jitter() < 0)) {
  
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "retry.parameter.invalid.value.CWMFT5010E", "jitter", jitter(), target, "0"));
          }
          if (maxDuration() < 0) {
  
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "retry.parameter.invalid.value.CWMFT5010E", "maxDuration", maxDuration(), target, "0"));
          }
          if (maxDuration() != 0) {
              Duration maxDuration = Duration.of(maxDuration(), durationUnit());
              Duration delay = Duration.of(delay(), delayUnit());
              if (maxDuration.compareTo(delay) < 0) {
                  throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "retry.parameter.invalid.value.CWMFT5017E", maxDuration(), durationUnit(), target,
                                                                               delay(),
                                                                               delayUnit()));
  
              }
          }
          if (tc.isWarningEnabled()) {
              if ((delay() != 0) && (jitter() != 0)) {
                  Duration jitter = Duration.of(jitter(), jitterDelayUnit());
                  Duration delay = Duration.of(delay(), delayUnit());
                  if (jitter.compareTo(delay) >= 0) {
                      Tr.warning(tc, "retry.parameter.invalid.value.CWMFT5019W", jitter(), jitterDelayUnit(), target,
                                 delay(),
                                 delayUnit());
  
                  }
              }
          }
      }