String (@NotNull IonReader reader, @Nullable String fieldName, @NotNull ConcurrentMap<String, String> stringCache) { String str = readString(reader, fieldName); if (str == null) { return null; } String old = stringCache.putIfAbsent(str, str); if (old == null) { return str; } else { return old; } }