class SourceValidator extends AbstractComplianceChecker {

    @Override
    public IPolicyEvaluation evaluate(Collection<Artifact> artifacts) {
        DefaultPolicyEvaluation policyEvaluation = new DefaultPolicyEvaluation();

        artifacts.stream()
                .filter(artifact -> ! artifact.getFlag(Artifact.IS_PROPRIETARY_FLAG_KEY))
                .filter(artifact ->  artifact.getCoordinateForType(Coordinate.Types.MAVEN).isPresent())
                .forEach(artifact -> validateSources(artifact)
                        .forEach(policyEvaluation::addEvaluationResult));

        return policyEvaluation;
    }

    public  SourceValidator();

}