code: @Override
      public void validate() {
          String target = getTargetName();
          //validate the parameters
          if (delay() < 0) {
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "circuitBreaker.parameter.delay.invalid.value.CWMFT5012E", "delay", delay(), target));
          }
          if ((failureRatio() < 0) || (failureRatio() > 1)) {
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "circuitBreaker.parameter.failureRatio.invalid.value.CWMFT5013E", "failureRatio",
                                                                           failureRatio(),
                                                                           target));
          }
          if (requestVolumeThreshold() < 1) {
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "circuitBreaker.parameter.requestVolumeThreshold.invalid.value.CWMFT5014E", "requestVolumeThreshold",
                                                                           requestVolumeThreshold(), target));
          }
          if (successThreshold() < 1) {
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "circuitBreaker.parameter.successThreshold.invalid.value.CWMFT5015E", "successThreshold",
                                                                           successThreshold(), target));
          }
          if (failOn().length == 0) {
              throw new FaultToleranceDefinitionException(Tr.formatMessage(tc, "circuitBreaker.parameter.failOn.invalid.value.CWMFT5018E", "failOn", target));
          }
  
      }
docs: Validate the CircuitBreaker policy