anchor.diff:            else
               LMediaTypes := TMediaTypeList.Intersect(LAllowedMediaTypes, LReaderMediaTypes);
             for LMediaType in LMediaTypes do
  -            if LReaderEntry.IsReadable(ADestination.GetRttiType, LMethod.GetAttributes, LMediaType) then
  +            if LReaderEntry.IsReadable(ADestination.GetRttiType, LAttributes, LMediaType) then
               begin
                 if not LFound
                    or (
  -                   (LCandidateAffinity < LReaderEntry.GetAffinity(ADestination.GetRttiType, LMethod.GetAttributes, LMediaType))
  +                   (LCandidateAffinity < LReaderEntry.GetAffinity(ADestination.GetRttiType, LAttributes, LMediaType))
   //                   or (LCandidateQualityFactor < LAcceptMediaTypes.GetQualityFactor(LMediaType))
                    )
                 then
                 begin
                   LCandidate := LReaderEntry;
  -                LCandidateAffinity := LCandidate.GetAffinity(ADestination.GetRttiType, LMethod.GetAttributes, LMediaType);
  +                LCandidateAffinity := LCandidate.GetAffinity(ADestination.GetRttiType, LAttributes, LMediaType);
                   LCandidateMediaType := LMediaType;
   //                LCandidateQualityFactor := 1;
                   LFound := True;
  
positive.code:   LReaderRttiType: TRttiType;
  
    LReaderMediaTypes: TMediaTypeList;
    LMethodConsumesMediaTypes: TMediaTypeList;
    LAllowedMediaTypes: TArray<string>;
    LMediaTypes: TArray<string>;
    LMediaType: string;
    LCandidateMediaType: string;
  //  LCandidateQualityFactor: Double;
  begin
    Assert(Assigned(ADestination));
    LMethod := ADestination.Parent as TRttiMethod;
    Assert(Assigned(LMethod));
  
    AMediaType := nil;
    AReader := nil;
    LFound := False;
    LCandidateAffinity := -1;
    LCandidateMediaType := '';
  //  LCandidateQualityFactor := -1;
  
    // consider method's Consumes
    LMethodConsumesMediaTypes := GetConsumesMediaTypes(LMethod);
    try
      if LMethodConsumesMediaTypes.Count > 0 then
        LAllowedMediaTypes := LMethodConsumesMediaTypes.ToArrayOfString
      else
  {$ifdef DelphiXE7_UP}
        LAllowedMediaTypes := [];
  
negative.code:       or ((Length(LAllowedMediaTypes) = 1) and (LAllowedMediaTypes[0] = TMediaType.WILDCARD))
      then // defaults
      begin
        if LConsumesMediaTypes.Count > 0 then
          LAllowedMediaTypes := LConsumesMediaTypes.ToArrayOfString
        else
        begin
          SetLength(LAllowedMediaTypes, 2);
  