code: public static ObjectReader init(ObjectReader reader, DeserializationContext context) {
          return withCache(context, cache -> {
              if (cache == null)
                  throw new IllegalStateException();
              return reader.withAttribute(ATTR_STRING_CACHE, cache);
          });
      }
docs: adds an existing DeserializerStringCache from the DeserializationContext
  to an ObjectReader
  
  @param reader
  a new ObjectReader
  @param context
  an existing DeserializationContext containing a
  DeserializerStringCache
  @return a wrapped ObjectReader with the string cache attribute