If you cache the `new String()` result, you don't need to special case EMPTY