class RedisClientCdiBean extends AbstractCdiBean<RedisClient> {

    RedisClientCdiBean(Bean<RedisURI> redisURIBean, Bean<ClientResources> clientResourcesBean, BeanManager beanManager,
            Set<Annotation> qualifiers, String name) {
        super(redisURIBean, clientResourcesBean, beanManager, qualifiers, name);
    }

    @Override
    public Class<?> getBeanClass() {
        return RedisClient.class;
    }

    @Override
    public RedisClient create(CreationalContext<RedisClient> creationalContext) {<FILL_FUNCTION_BODY>}

    @Override
    public void destroy(RedisClient instance, CreationalContext<RedisClient> creationalContext) {
        instance.shutdown();
    }

}


        CreationalContext<RedisURI> uriCreationalContext = beanManager.createCreationalContext(redisURIBean);
        RedisURI redisURI = (RedisURI) beanManager.getReference(redisURIBean, RedisURI.class, uriCreationalContext);

        if (clientResourcesBean != null) {
            ClientResources clientResources = (ClientResources) beanManager.getReference(clientResourcesBean,
                    ClientResources.class, uriCreationalContext);
            return RedisClient.create(clientResources, redisURI);
        }

        return RedisClient.create(redisURI);
    
<methods>public void <init>(Bean<io.lettuce.core.RedisURI>, Bean<io.lettuce.core.resource.ClientResources>, BeanManager, Set<java.lang.annotation.Annotation>, java.lang.String) ,public Set<InjectionPoint> getInjectionPoints() ,public java.lang.String getName() ,public Set<java.lang.annotation.Annotation> getQualifiers() ,public Class<? extends java.lang.annotation.Annotation> getScope() ,public Set<Class<? extends java.lang.annotation.Annotation>> getStereotypes() ,public Set<java.lang.reflect.Type> getTypes() ,public boolean isAlternative() ,public boolean isNullable() <variables>protected final non-sealed BeanManager beanManager,protected final non-sealed Bean<io.lettuce.core.resource.ClientResources> clientResourcesBean,protected final non-sealed java.lang.String name,protected final non-sealed Set<java.lang.annotation.Annotation> qualifiers,protected final non-sealed Bean<io.lettuce.core.RedisURI> redisURIBean