in mail-archive/server/src/main/java/org/apache/sling/mailarchiveserver/impl/ThreadKeyGeneratorImpl.java [76:108]
private static char assignPrefix(String subject, int length) {
char prefix;
if (subject.length() > length) {
int i = length;
while (i > -1 && !isLetterOrDigit(subject.charAt(i)))
i--;
if (i > -1)
prefix = subject.charAt(i);
else {
i = length;
while (i<subject.length() && !isLetterOrDigit(subject.charAt(i)))
i++;
if (i<subject.length())
prefix = subject.charAt(i);
else
throw new IllegalArgumentException();
}
} else {
int i = subject.length()-1;
while (i > -1 && !isLetterOrDigit(subject.charAt(i)))
i--;
if (i > -1)
prefix = subject.charAt(i);
else
throw new IllegalArgumentException();
}
return prefix;
}