It might also be worth considering putting exception catching in CursorCache.java so that you don't have to decode then examine the string twice.