public boolean higher(String a, String b) {
        int i = 0, limit = Math.min(a.length(), b.length());

        while (i < limit - 1 && LOWER.to(a.charAt(i))
                   == LOWER.to(b.charAt(i)))
            ++i;

        return a.charAt(i) < b.charAt(i) || a.length() <= b.length();
    }