public IEnumerable<CandidatoParaEmprego> Buscar(FiltroCandidato filtro)
        {
            _rangeDeIdadeSpecification.IdadeMinima = filtro.IdadeMinima;
            _rangeDeIdadeSpecification.IdadeMaxima = filtro.IdadeMaxima;

            _sexoSpecification.SexoConfigurado = filtro.Sexo;

            ISpecification<CandidatoParaEmprego> specification = _rangeDeIdadeSpecification.And(_sexoSpecification);

            int numeroMaximoDeConsultasAoBancoDeDados = _numeroMaximoDeConsultasAoBancoDeDados;
            int numeroDeCandidatosPorConsulta = _numeroDeCandidatosPorConsulta;
            int maximoDeCandidatos = _maximoDeCandidatos;

            return _downloaderDb.Download(
                specification,
                numeroMaximoDeConsultasAoBancoDeDados,
                numeroDeCandidatosPorConsulta,
                maximoDeCandidatos,
                (pular) => {
                    return _repository.SelecionarItensQueContenhamNoMiniCurriculo(filtro.QueContenhaNoMiniCurriculo, pular, numeroDeCandidatosPorConsulta);
                });
        }
 public IEnumerable<CandidatoParaEmprego> BuscarPorCandidatos(IBuscadorDeCandidatos buscadorDeCandidatos, FiltroCandidato filtro)
 {
     return buscadorDeCandidatos.Buscar(filtro);
 }