É possivel simplificar este codigo?
public ClientePosEntrada criptografa() {
String nome = criptografaString(super.getNome());
String entrada = criptografaString(super.getEntrada());
String saida = criptografaString(super.getSaida());
String agencia = criptografaString(super.getAgencia());
String dataNasci = criptografaString(this.dataNascimento);
String adress = criptografaString(this.morada);
String country = criptografaString(this.pais);
String nacio = criptografaString(this.nacionalidade);
String bi = criptografaString(this.BI);
String tipoIdent = criptografaString(this.tipoIndentificacao);
String tele = criptografaString(this.telemovel + "");
List<String> apts = new ArrayList();
apartamentos.forEach((ap) -> apts.add(criptografaString(ap)));
List<String> estadia = new ArrayList();
estadia.forEach(estad -> estadia.add(criptografaString(estad)));
Reserva reservaCriptografada = getReserva(nome, entrada, saida, apts, agencia);
final ClientePosEntrada cliente = new ClientePosEntrada(nome, entrada, saida, agencia, dataNasci, adress, country, nacio, bi,
tipoIdent, tele, apts, estadia, reservaCriptografada);
if (super.getId() != -1) {
cliente.setId(super.getId());
}
return cliente;
}
private Reserva getReserva(String nome, String entrada, String saida, List<String> apts, String agencia) {
if (reserva == null) {
return new Reserva(nome, entrada, saida, apts.get(0), agencia,
2, 0, criptografaString("GERADA AUTOMATICAMENTE"),
criptografaString("GERADA AUTOMATICAMENTE"));
}
Reserva reservaCriptografada = new Reserva(nome, entrada, saida, apts.get(0), agencia,
reserva.getAdultos(), reserva.getCriancas(), criptografaString(reserva.getFeitaPor()),
criptografaString(reserva.getRecebidaPor()));
reservaCriptografada.setId(reserva.getId() == -1 ? 0 : reserva.getId());
return reservaCriptografada;
}