CDI Dependência ambígua com @Produces - por quê?

Estou usando o código como abaixo:

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
}

Quando implanto um aplicativo no glassfish (Java EE 6 btw), recebo

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

Eu sei que quando eu adiciono@Alternative para a classe Car, ele funcionará, mas me pergunto se essa é a maneira correta de fazê-lo, e por que tenho que fazê-lo?

Você pode me dizer qual é o uso correto do @Produces nesse caso?

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

questionAnswers(3)

yourAnswerToTheQuestion