Campos dinamicos sendo submetidos ao salvar

Tenho uma aplicação java com VRaptor 3.5 funcionando. Possuo um formulário com campos do referentes a um objeto e neste mesmo formulário tenho que acrescentar dados de outro objeto.

Exemplo:

Formulário com dados do Advogado e dados de Estagiário. Só que preciso que os campos de dados de Estagiario seja criado dinamicamente, pois 1 Advogado pode ter mais de um Estagiário.

Se para Estagiario eu tenho só 1 campo (nomes[] ), estou conseguindo salvar os dados no banco… agora não sei fazer pra salvar 2 campos.

Quero dois imputs:

Nome: <input type="text" class="form-control" id="nome" name="nomes[]">
Nome: <input type="text" class="form-control" id="carteira" name="carteiras[]">

Terei que acrescentar um novo parametro no meu método com nome de List carteiras ?

Se sim, se amanhã eu tiver que aumentar pra 5 campos, esse método vai ter que ter esses 5 parametros… 1 pra cada input?

Teria uma forma melhor de trabalhar com isso?

@Post    
    public void adiciona(Advogado advogado, Estagiario estagiario, List<String> nomes) throws ParseException {
       
            this.daoFactory.getAdvogadoDao().salva(advogado);
        } catch (Exception ex) {
            System.out.println(ex);
        }

        
        List<Estagiario> estagiarios= new ArrayList<>();
        if (nomes != null) {
            for (String uf : nomes) {               
                Estagiario est= new Estagiario();
                Est.setNome(uf.toString());                
                est.setAdvogado(advogado);                
                estagiarios.add(est);
            }
            
            for (Estagiario a : estagiarios) {
                try {
                    this.daoFactory.getEstagiarioDao().salva(a);
                } catch (Exception ex) {
                   System.out.println(ex);
                }
            }
        }
        
        result.redirectTo(this).lista();
    }