int prazo = prazoDe(instrucao1, 0);
prazo = prazoDe(instrucao2, prazo);
Cedente cedente = titulo.getCedente();
Sacado sacado = titulo.getSacado();
CadastroRFB sacadoCadastro = sacado.getCadastroRFB();
TipoDeCadastroRFB sacadoTipo = sacadoCadastro.getTipo();
Endereco endereco = sacado.getEndereco();
Estado estado = endereco.getEstado();
return LoteRemessa.paraBanco(banco)
// cobranca
.put(loteRemessa().codigoDeInscricao(), inscricao.getTipo())
.put(loteRemessa().numeroDeInscricao(), inscricao.getCadastro())
.put(loteRemessa().agencia(), agencia.getCodigo())
.put(loteRemessa().conta(), conta.getNumero())
.put(loteRemessa().dac(), conta.getDigito())
.put(loteRemessa().carteiraNumero(), carteira.getNumero())
.put(loteRemessa().carteiraCodigo(), carteira.getCodigo())
.put(loteRemessa().comando(), cobranca.getComando())
// opções
.put(loteRemessa().aceite(), opcoes.isAceite())
.put(loteRemessa().instrucao1(), instrucao1.getCodigo())
.put(loteRemessa().instrucao2(), instrucao2.getCodigo())
.put(loteRemessa().moraDia(), opcoes.getMoraDia())
// titulo
.put(loteRemessa().usoDaEmpresa(), titulo.getUsoDaEmpresa())
.put(loteRemessa().especie(), titulo.getEspecie())
.put(loteRemessa().nossoNumero(), titulo.getNossoNumero())
.put(loteRemessa().numeroDocumento(), titulo.getNumero())
.put(loteRemessa().emissao(), titulo.getEmissao())
.put(loteRemessa().vencimento(), titulo.getVencimento())
.put(loteRemessa().prazo(), prazo)
.put(loteRemessa().valorTitulo(), titulo.getValor())
.put(loteRemessa().valorIOF(), titulo.getValorIof())
.put(loteRemessa().valorDesconto(), titulo.getValorDesconto())
.put(loteRemessa().valorAbatimento(), titulo.getValorAbatimento())
// cedente
.put(loteRemessa().sacadorAvalista(), cedente.getNome())
// sacado
.put(loteRemessa().sacadoInscricaoTipo(), CPF.equals(sacadoTipo) ? 1 : 2)
.put(loteRemessa().sacadoInscricaoNumero(), sacado.getCadastroRFB())
.put(loteRemessa().sacadoNome(), sacado.getNome())
.put(loteRemessa().sacadoLogradouro(), endereco.getLogradouro())
.put(loteRemessa().sacadoBairro(), endereco.getBairro())
.put(loteRemessa().sacadoCidade(), endereco.getCidade())
.put(loteRemessa().sacadoEstado(), estado != null ? estado.name() : null)
.put(loteRemessa().sacadoCep(), endereco.getCep())