private boolean limitaTentativasPorTelefone(
      Tenant tenant, DaoFactory daoFactory, Cliente cliente, TelefoneDao telefoneDao) {
    int limiteTentativas = tenant.getConfiguracoes().getLimiteTentativas();
    int totalTentativas = cliente.getTelefone().getTentativa();
    if (totalTentativas < limiteTentativas) {
      logger.info(
          "Ainda nao estourou tentativas telefone {}: {} de {} {}",
          new Object[] {cliente.getTelefone(), totalTentativas, limiteTentativas, cliente});
      return true;
    }

    logger.info(
        "Finalizando por excesso de tentativas tentativas telefone {}: {} de {} {}",
        new Object[] {cliente.getTelefone(), totalTentativas, limiteTentativas, cliente});
    finalizadorCliente.finalizaPorInutilizacaoSimples(tenant, daoFactory, cliente);
    return true;
  }
  private boolean limitaTentativasPorCliente(
      Tenant tenant,
      DaoFactory daoFactory,
      Cliente cliente,
      TelefoneDao telefoneDao,
      Ligacao ligacao) {
    int limiteTentativas = tenant.getConfiguracoes().getLimiteTentativas();
    int totalTentativas =
        telefoneDao.totalTentativas(tenant.getConfiguracoes().bloqueiaCelular(), cliente);
    if (totalTentativas < limiteTentativas) {
      logger.info(
          "Ainda nao estourou tentativas cliente: {} de {} {}",
          new Object[] {totalTentativas, limiteTentativas, cliente});
      return true;
    }

    logger.info(
        "Finalizando por excesso de tentativas tentativas cliente: {} de {} {}",
        new Object[] {totalTentativas, limiteTentativas, cliente});

    MotivoFinalizacao motivoFinalizacao =
        daoFactory.getMotivoFinalizacaoDao().procura("Excesso tentativas");

    finalizadorCliente.finaliza(tenant, daoFactory, cliente, motivoFinalizacao);
    logger.info("Finalizado {}", cliente);
    notificadorCliente.notificaFinalizacao(
        tenant,
        daoFactory,
        ligacao,
        cliente,
        resultadoLigacao,
        cliente.getTelefone(),
        false,
        cliente.getMailing().getCampanha());
    return true;
  }