CDI Reemplazo para @ ManagedProperty

Soy muy nuevo tanto en CDI como en JSF, y estoy tratando de convertir algún código del escaparate de Richfaces 4 para usar CDI en lugar de las anotaciones de JSF.

Entiendo que puedo usar @Named para reemplazar @MangedBean y @Inject para reemplazar @ManagedProperty. Pero estoy teniendo algunos problemas. Estoy intentando convertir el ejemplo del árbol de Richfaces específicamente.

He realizado los siguientes cambios y sé que esto no es correcto, así que no lo use:

//@ManagedBean
//@ViewScoped
@Named
@SessionScoped
public class TreeBean implements Serializable {
    private static final long serialVersionUID = 1L;
//    @ManagedProperty(value = "#{cdsParser.cdsList}")
//    private List<CDXmlDescriptor> cdXmlDescriptors;
    @Inject
    private Instance<CDXmlDescriptor> cdXmlDescriptors;
// I also Tried :
//  @Inject
//    private CDParser cdsParser;
//    private List<CDXmlDescriptor> cdXmlDescriptors = cdsParser.getCdsList();

........

Luego agregué (y no estoy seguro de que sea necesario):

@Named
@SessionScoped
public class CDXmlDescriptor implements Serializable { ...

y cambiado:

//@ManagedBean(name = "cdsParser")
@Named("CDParser")
//@Named
@SessionScoped
public class CDParser implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 3890828719623315368L;
    @Named
    private List<CDXmlDescriptor> cdsList;

No puedo encontrar la manera correcta de reemplazar @ManagedProperty (value = "# {cdsParser.cdsList}") usando CDI?

Respuestas a la pregunta(2)

Su respuesta a la pregunta