@Override
 public boolean accept(
     Tenant tenant, DaoFactory daoFactory, Ligacao ligacao, ResultadoLigacao resultadoLigacao) {
   Cliente cliente = ligacao.getDiscavel().getCliente();
   if (!resultadoLigacao.isIncrementaTentativa()) {
     logger.info("Nao vai incrementar tentativa {}", cliente);
     return false;
   }
   return true;
 }
  @Override
  public boolean executa(
      Tenant tenant, DaoFactory daoFactory, Ligacao ligacao, ResultadoLigacao resultadoLigacao) {
    Cliente cliente = ligacao.getDiscavel().getCliente();
    logger.info("Incrementando tentativa {}", cliente);

    TelefoneDao telefoneDao = daoFactory.getTelefoneDao();
    Telefone telefone = telefoneDao.procura(cliente.getTelefone().getId());
    telefone.incTentativa();
    telefoneDao.atualiza(telefone);
    if (tenant.getConfiguracoes().getLimiteTentativasPorTelefone()) {
      return limitaTentativasPorTelefone(tenant, daoFactory, cliente, telefoneDao);
    }

    return limitaTentativasPorCliente(tenant, daoFactory, cliente, telefoneDao, ligacao);
  }