private IEnumerable <ICertificate> FindChangedCertificates() { var result = new LinkedList <ICertificate>(); var certificatesHashes = certificatesHashRepository.GetAllInstances().ToList(); foreach (var certificate in certificateRepository.GetAllInstances().ToList()) { var certificateHash = certificatesHashes.FirstOrDefault(x => x.Certificate.Id == certificate.Id); if (certificateHash == null) { result.AddLast(certificate); } else { if (certificateHash.Hash != certificate.Hash) { result.AddLast(certificate); } } } return(result); }