@JSONField(serialize = false, deserialize = false)
    public RetryPolicy getRetryPolicy() {
        if (GroupRetryPolicyType.EXPONENTIAL.equals(type)) {
            if (exponentialRetryPolicy == null) {
                return DEFAULT_RETRY_POLICY;
            }
            return exponentialRetryPolicy;
        } else if (GroupRetryPolicyType.CUSTOMIZED.equals(type)) {
            if (customizedRetryPolicy == null) {
                return DEFAULT_RETRY_POLICY;
            }
            return customizedRetryPolicy;
        } else {
            return DEFAULT_RETRY_POLICY;
        }
    }
@Test
    public void testGetRetryPolicy() {
        GroupRetryPolicy groupRetryPolicy = new GroupRetryPolicy();
        RetryPolicy retryPolicy = groupRetryPolicy.getRetryPolicy();
        assertThat(retryPolicy).isInstanceOf(CustomizedRetryPolicy.class);
        groupRetryPolicy.setType(GroupRetryPolicyType.EXPONENTIAL);
        retryPolicy = groupRetryPolicy.getRetryPolicy();
        assertThat(retryPolicy).isInstanceOf(CustomizedRetryPolicy.class);

        groupRetryPolicy.setType(GroupRetryPolicyType.CUSTOMIZED);
        groupRetryPolicy.setCustomizedRetryPolicy(new CustomizedRetryPolicy());
        retryPolicy = groupRetryPolicy.getRetryPolicy();
        assertThat(retryPolicy).isInstanceOf(CustomizedRetryPolicy.class);

        groupRetryPolicy.setType(GroupRetryPolicyType.EXPONENTIAL);
        groupRetryPolicy.setExponentialRetryPolicy(new ExponentialRetryPolicy());
        retryPolicy = groupRetryPolicy.getRetryPolicy();
        assertThat(retryPolicy).isInstanceOf(ExponentialRetryPolicy.class);

        groupRetryPolicy.setType(null);
        retryPolicy = groupRetryPolicy.getRetryPolicy();
        assertThat(retryPolicy).isInstanceOf(CustomizedRetryPolicy.class);
    }