private VariantContext findMatchingComp( final VariantContext eval, final Collection<VariantContext> comps) { // if no comps, return null if (comps == null || comps.isEmpty()) return null; // if no eval, return any comp if (eval == null) return comps.iterator().next(); // find all of the matching comps VariantContext lenientMatch = null; for (final VariantContext comp : comps) { switch (doEvalAndCompMatch(comp, eval, requireStrictAlleleMatch)) { case STRICT: return comp; case LENIENT: if (lenientMatch == null) lenientMatch = comp; break; case NO_MATCH:; } } // nothing matched, just return lenientMatch, which might be null return lenientMatch; }