select

abstract fun select(candidates: Collection<String?>): String?

Pick the best canonical name from candidates. Inputs are normalized via NormalizedNameCandidateSearcher.normalizeName before scoring so titles ("Dr.", "Mr.") and suffixes ("Jr.") don't artificially boost. Blank, null, and effectively-identical candidates are deduped.

Return

the best canonical form, or null when every candidate is null/blank after cleaning. Callers should fall back to whatever name they already had on the entity in that case.


open fun select(vararg candidates: String?): String?

Convenience varargs overload — same semantics as select.