CDI Dependencia ambigua con @Produces: ¿por qué?

Estoy usando un código como el siguiente:

public Configuration {

    private boolean isBatmanCar = someMethod(...);

    @Produces
    public Car getCar(@New Car car) {
        if(isBatmanCar) {
            car.setName("BatmanCar");
        }
        return car;
    }
}

public Car {
    private String name = "NormalCar";

    public void setName(String name) {
        this.name = name;
    }
}

public Demo {
    @Inject
    Car car;

    // rest of code
}

Cuando despliegue una aplicación para glassfish (Java EE 6 por cierto) obtengo

AmbiguousResolutionException: WELD-001318 Cannot resolve an ambiguous dependency between (...) Car with qualifiers [@Any @Default] (...) Producer Method [Car] with qualifiers [@Any @Default]

Sé que cuando agrego@Alternative a Car class funcionará, pero me pregunto si esta es la forma correcta de hacerlo, y ¿por qué tengo que hacerlo?

¿Me puede decir cuál es el uso correcto de @Produces en tal caso?

Estoy usando Java EE 6, CDI 1.0, EJB 3.1, Glassfish 3.2

Respuestas a la pregunta(3)

Su respuesta a la pregunta