code: public static Matcher propertyAccess(final String name) {
      return new Matcher() {
        @Override
        public boolean matches(Node node, NodeMetadata metadata) {
          if (node.isGetProp()) {
            if (name == null) {
              return true;
            }
            if (node.matchesQualifiedName(name)) {
              return true;
            } else if (name.contains(".prototype.")) {
              return matchesPrototypeInstanceVar(node, metadata, name);
            }
          }
          return false;
        }
      };
    }
docs: Returns a Matcher that matches nodes representing a GETPROP access of
  an object property.
  @param name The name of the property to match. For non-static properties,
  this must be the fully qualified name that includes the type of the
  object. For instance: {@code ns.AppContext.prototype.root}
  will match {@code appContext.root} and {@code this.root} when accessed
  from the AppContext.