anchor.diff:        const AActivation: IMARSActivation
       ): TValue; virtual;
     end;
  +
  +  [Consumes(TMediaType.APPLICATION_JSON)]
  +  TArrayOfObjectReader = class(TInterfacedObject, IMessageBodyReader)
  +  public
  +    function ReadFrom(
  +    {$ifdef Delphi10Berlin_UP}const AInputData: TBytes;{$else}const AInputData: AnsiString;{$endif}
  +      const ADestination: TRttiObject; const AMediaType: TMediaType;
  +      const AActivation: IMARSActivation
  +    ): TValue; virtual;
  +  end;
  +
   
     [Consumes(TMediaType.APPLICATION_JSON)]
     TJSONValueReader = class(TInterfacedObject, IMessageBodyReader)
  
positive.code:       end
    );
  
    TMARSMessageBodyReaderRegistry.Instance.RegisterReader<TJSONValue>(TJSONValueReader);
    TMARSMessageBodyReaderRegistry.Instance.RegisterReader<TStream>(TStreamReader);
  
  
negative.code: end;
  
  
  { TArrayOfObjectReader }
  
  function TArrayOfObjectReader.ReadFrom(
  {$ifdef Delphi10Berlin_UP}const AInputData: TBytes;{$else}const AInputData: AnsiString;{$endif}
    const ADestination: TRttiObject; const AMediaType: TMediaType;
    const AActivation: IMARSActivation): TValue;
  var
    LJSONArray: TJSONArray;
    LJSONValue: TJSONValue;
    LJSONObject: TJSONObject;
    LElementType: TRttiType;
    LArray: TValue;
    LArrayType: TRttiType;
    LIndex: Integer;
  begin
    Result := TValue.Empty;
    LArrayType := ADestination.GetRttiType;
    LElementType := LArrayType.GetArrayElementType;
    if not Assigned(LElementType) then
      Exit;
  
    if not (LElementType is TRttiInstanceType) then
      Exit;
  
    LJSONValue := TJSONValueReader.ReadJSONValue(
  