@Specializes
public class ViewScopeAwareConversationFactory extends JsfAwareConversationFactory
{
    private static final long serialVersionUID = 8809629790207239230L;

    @Inject
    private BeanManager beanManager;

    @Override
    public EditableConversation createConversation(
        ConversationKey conversationKey, ConversationConfig configuration)
    {
        if(conversationKey.getConversationGroup()
            .isAnnotationPresent(ViewConversationScoped.class))
        {
            return new DefaultConversation(conversationKey,
                        new ViewConversationExpirationEvaluator(),
                        configuration,
                        this.beanManager);
        }
        return super.createConversation(conversationKey, configuration);
    }
}