Converter para Object

E ai pessoal,

alguém consegue me ajuda nesse converter, não estou conseguindo fazer essa conversão. Ou se tiver algum tutorial amigável que possam me passar agradeço tbm.

retorna “Produtos: Erro de validação: o valor não é válido”

	<h:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5"
		columnClasses="label, value">

		<p:outputLabel for="produtos" value="Produtos: " />

		<p:selectManyMenu id="produtos"
			value="#{controleCestaBasica.produtos}" filter="true"
			filterMatchMode="contains" showCheckbox="true" converter="converterProduto">

			<f:selectItems value="#{controleCestaBasica.produtos}" var="p"
				itemLabel="#{p.nome}" itemValue="#{p.idproduto}" />

			<p:column>
				<h:outputText styleClass="ui-theme ui-theme-#{p.nome}" />
			</p:column>

			<p:column>
				<h:outputText value="#{p.nome}" />
			</p:column>

		</p:selectManyMenu>

	</h:panelGrid>

@FacesConverter("converterProduto")
public class ConverterProduto implements Converter {

public Object getAsObject(FacesContext fc, UIComponent uic, String value) {
	if (value != null && value.trim().length() > 0) {
		try {
			ProdutoDAO pdao = new ProdutoDAO();
			Produto prod = pdao.getProduto(Integer.parseInt(value));
			return prod;
		}	
		catch (Exception e) {
			// TODO: handle exception
			throw new ConverterException(new FacesMessage(
					FacesMessage.SEVERITY_ERROR, "Erro na conversão", "Valor inválido."));
		}
	} else {
		return null;
	}
}

public String getAsString(FacesContext fc, UIComponent uic, Object object) {
	if (object != null) {
		String s = object.toString();
		return s;
	} else {
		return null;
	}
}