Problemas com converter

Boa noite pessoal.
Eu estou recuperando o nome de uma empresa atraves de um autocomplete, eu consigo trazer a empresas, mas qdo eu clico no botão para executar uma ação, ocorrer um erro no convereter. Ocorrendo nullpointexception

abaixo segue o código

java.lang.NullPointerException
	br.com.ergoclinweb.converter.EmpresaConverter.getAsObject(EmpresaConverter.java:20)
	org.primefaces.component.autocomplete.AutoCompleteRenderer.getConvertedValue(AutoCompleteRenderer.java:465)
	javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
	javax.faces.component.UIInput.validate(UIInput.java:960)
	javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
	javax.faces.component.UIInput.processValidators(UIInput.java:698)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIForm.processValidators(UIForm.java:253)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
	javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
	com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
CONVERTER
@FacesConverter(value = "empresaConverter")
public class EmpresaConverter implements Converter {

	@EJB
	private EmpresaService empresaService;

	@Override
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String id) {
		return empresaService.carrega(new Empresa(Integer.valueOf(id)));
	}

	@Override
	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
		return arg2 == null ? null : arg2.toString();
	}

}
SERVICE

@LocalBean
@Stateless
public class EmpresaService implements Serializable {

	private static final long serialVersionUID = 1L;

	private static final int MIN_STRING_LENGTH = 3;

	private EmpresaDAO empresaDAO;

	@PersistenceContext
	private EntityManager entityManager;

	@PostConstruct
	private void init() {
		empresaDAO = new EmpresaDAO(entityManager);
	}

public Empresa carrega(Empresa empresa) {
		Empresa emp = this.empresaDAO.carrega(empresa);
		return emp;
	}
DAO

public class EmpresaDAO implements Serializable {

	private static final long serialVersionUID = 1L;
	
	private EntityManager em;
	
	public EmpresaDAO(EntityManager entityManager) {
		em = entityManager;
	}

	public Empresa carrega(Empresa empresa) {
		return em.find(Empresa.class,empresa.getId());
	}

Alguem poderia me ajudar a achar uma solução?
Um abraço

Converter não tem injeção.

Você tem que esolher uma opção das abaixo:

  1. Fazer look up no ejb
  2. Buscar um MB dentro do contexto e utilizar a consulta
  3. Salvar o objeto no contexto e depois recuperar por ID.