if (versionMatches(requestedVersion, candidateIdentifier, metadataProvider)) {
if (!isRejectedByRules(candidateIdentifier, rules, metadataProvider)) {
return candidateIdentifier;
}
if (requestedVersion.matchesUniqueVersion()) {
break;
}
}
}
return null;