The value returned by getMaxExpansion does not always yield the correct skip distance for the Boyer-Moore search algorithm. Mark Davis and I have developed an alternate data structure that seems to let us compute accurate skip distances. We've done some quick tests, but need to verify that it does indeed fix the known problems with the Boyer-Moore StringSearch code. Ideally, this data should be generate at collator build time. For testing, we can generate it on the fly and cache it.
moved to 4.1.2, no checkins in 4.1.1