code: protected void initFieldMatcher(TokenStreamFactory streamFactory)
      {
          Map<String,BeanPropertyReader> byName = _propsByName;
          final int size = byName.size();
          List<Named> names = new ArrayList<>(size);
          _fieldReaders = new BeanPropertyReader[size];
          int ix = 0;
          for (Map.Entry<String, BeanPropertyReader> entry : byName.entrySet()) {
              names.add(Named.fromString(entry.getKey()));
              _fieldReaders[ix++] = entry.getValue();
          }
          // 13-Dec-2017, tatu: We could relatively easily support case-insensitive matching,
          //    except for one problem: when we cache readers we cache matcher... so would
          //    need to figure out what to do with that -- can not support dynamic change
          //    easily.
          /*
          if (_caseInsensitive) {
              _fieldMatcher = streamFactory.constructCIFieldNameMatcher(names, true);
          } else {
              _fieldMatcher = streamFactory.constructFieldNameMatcher(names, true);
          }
          */
          _fieldMatcher = streamFactory.constructFieldNameMatcher(names, true);
      }
docs: Initialization method called after construction and resolution of all property
  readers: separate since caller needs to handle resolution of cyclic dependencies.