code: public ValueReader findReader(Class<?> raw)
      {
          ClassKey k = (_key == null) ? new ClassKey(raw, _features) : _key.with(raw, _features);
          ValueReader vr = _knownReaders.get(k);
          if (vr != null) {
              return vr;
          }
          vr = createReader(null, raw, raw);
          // 15-Jun-2016, tatu: Let's limit maximum number of readers to prevent
          //   unbounded memory retention (at least wrt readers)
          if (_knownReaders.size() >= MAX_CACHED_READERS) {
              _knownReaders.clear();
          }
          _knownReaders.putIfAbsent(new ClassKey(raw, _features), vr);
          return vr;
      }
docs: Method used during deserialization to find handler for given
  non-generic type.