[RESOLVIDO]ERRO: java.lang.NullPointerException metodo salvar

Eu tenho um método de salvar, porem ele esta dando NullPointerException em uma das linha do método, a minha tela é o seguinte eu possuo 2 listas uma para selecionar múltiplos itens que ira sendo salva em uma lista que é a listaGuardaComponente ai eu quero percorrer essa lista para salvar um componente por vez, porem quando chega na linha que tem esse comando:

ocorrenciaManuComponentes.add(ocorrenciaManuComponente);

da NullPointerException e não sei porque, o meu método salvar é esse:

vou deixar todos os souts (que são minhas depurações)

public void salvarManutencao(ActionEvent actionEvent) {
        try {
            Boolean salva = Boolean.FALSE;
            BigDecimal zero = new BigDecimal(0);
            System.out.println("INSTACIOU OS BIGDECIAML E BOOLEAN");
           if (ocorrenciaSelecionada.getOcorrenciaManutencao() != null) { // QUANDO FOR OCORRENCIA DE MANUTENCAO
               System.out.println("PRIMEIRO IF");
                if (listaGuardaComponente != null) {
                    for (Componente componeteSalvar : listaGuardaComponente) {
                        if (componeteSalvar.getRetirada().longValue() <= componeteSalvar.getEstoque().longValue()) {
                            System.out.println("ENTROI NO IF");
                            System.out.println("componeteSalvar:  "+componeteSalvar);
                            System.out.println("LISTA COMPONENTE tamanho:  "+listaGuardaComponente.size());
                            ocorrenciaManuComponente.setComponente(componeteSalvar);
                            
                            ocorrenciaManuComponente.setOcorrenciaManutencao(ocorrenciaSelecionada.getOcorrenciaManutencao());
                            System.out.println("ocorrenciaSelecionada:  "+ocorrenciaSelecionada.getOcorrenciaManutencao());
                            
                            System.out.println("setOcorrenciaManutencao");
                            ocorrenciaManuComponente.setRetirada(componeteSalvar.getRetirada());
                            System.out.println("setRetirada"+componeteSalvar.getRetirada());
                            System.out.println("ocorrenciaManuComponente" +ocorrenciaManuComponente);
                            ocorrenciaManuComponentes.add(ocorrenciaManuComponente);//ERRO AQUI
                            System.out.println("ocorrenciaManuComponentes");
                            ocorrenciaManuComponente = new OcorrenciaManuComponente();
                            componeteSalvar.setEstoque(componeteSalvar.getEstoque().subtract(componeteSalvar.getRetirada()));
                            System.out.println("SALVAR");
                            componenteFacade.salvar(componeteSalvar);
                            System.out.println("SALVO");

                        } else if (componeteSalvar.getEstoque().longValue() <= componeteSalvar.getRetirada().longValue()) {
                            FacesUtil.exibirMensagemErro("A Quantidade a ser retirada do componente " + componeteSalvar.getComponente() + " é inferior a quantidade disponível em estoque");
                            componeteSalvar.setRetirada(new BigDecimal(0));
                            System.out.println("RETOIRADA NAO PERMITIDA");
                        }
                    }
                    ocorrenciaSelecionada.getOcorrenciaManutencao().setOcorrenciaMenuComponente(ocorrenciaManuComponentes);
                    ocorrenciaFacade.salvar(ocorrenciaSelecionada);
                    FacesUtil.exibirMensagemSucesso("Ocorrência Salva");;
                } else {
                    if (procedimentoSelecionado.length != 0) {
                        ocorrenciaSelecionada.getOcorrenciaManutencao().setProcedimentos(Arrays.asList(procedimentoSelecionado));
                    }
                    if (equipamentosSelecionados2.length != 0) {
                        ocorrenciaSelecionada.getOcorrenciaManutencao().setEquipamentos(Arrays.asList(equipamentosSelecionados2));
                    }
                    ocorrenciaFacade.salvar(ocorrenciaSelecionada);
                    FacesUtil.exibirMensagemSucesso("Ocorrência Salva");
                }

            
            } else { // SALVA QUANDO NÃO FOR NENHUMA DAS OPCOES ACIMA
                ocorrenciaFacade.salvar(ocorrenciaSelecionada);
                FacesUtil.exibirMensagemSucesso("Ocorrência Salva");
                
            }
        } catch (Exception e) {
            FacesUtil.exibirMensagemErro("" + e);
            System.out.println("ERRO: "+e);
        }
    }

alguem podeira me ajudar

Bom dia,

Aonde você inicializa a ocorrenciaManuComponentes? É bem provável que neste momento na execução esta variável esteja nula, daí a exceção.

problema resolvido eu estava tentando adicionar uma lista dentro de outra lista.
remova a linha de erro e remova o instantaneamente da lista e funciona perfeitamente.