I noticed when working on #2364 that PyString exposes methods that belong to PyUnicode. Previous to that fix there was delegation from PyUnicode to these methods for the basic plane case. It was probably always wrong to have exposed them.
>>> [s for s in dir(str) if s.startswith('is')]
['isalnum', 'isalpha', 'isdecimal', 'isdigit', 'islower', 'isnumeric', 'isspace', 'istitle', 'isunicode', 'isupper']
They are in the public Java API of PyString, so I'm reluctant just to delete them without discussion.
I think it is safe to delete these methods from PyString, even for a subsequent release in the 2.7.x series. Perhaps a future version of Jython would have annotations that mark what belongs to the true public Java API of Jython vs what is necessary to support the Python runtime.