sS shortenInTheMiddle(int max, CharSequence s) { if (s == null) ret ""; if (max < 0) ret str(s); if (s.length() <= max) ret str(s); S shortener = "..."; int m = max-shortener.length(); ret subCharSequence(s, 0, m-m/2) + shortener + subCharSequence(s, s.length()-m/2); }