code: public void setMatcher(Matcher<? super T> matcher) {
          this.matcher = matcher;
          if (matcher instanceof PathAware) {
              ((PathAware) matcher).setPathProvider(this);
          }
      }
docs: Sets the matcher that the property that this instance represents in the target object graph must match.
  <p>
  If matcher is null, this PropertyMatcher will be ignored.
  <p>
  If the matcher is {@link PathAware}, this instance will become its {@link PathProvider}.
  
  @param matcher the matcher