The point of the substring is to optimize the O(n) toLowerCase, not the startsWith.