anchor.diff:  end;
   
   
  -{ TArrayOfRecordReader }
  -
  -function TArrayOfRecordReader.ReadFrom(
  +{ 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;
  +  const AActivation: IMARSActivation): TValue;
   var
     LJSONArray: TJSONArray;
     LJSONValue: TJSONValue;
     LJSONObject: TJSONObject;
  -  LRecordType: TRttiType;
  +  LElementType: TRttiType;
     LArray: TValue;
     LArrayType: TRttiType;
     LIndex: Integer;
   begin
     Result := TValue.Empty;
     LArrayType := ADestination.GetRttiType;
  -  LRecordType := LArrayType.GetArrayElementType;
  -  if not Assigned(LRecordType) then
  +  LElementType := LArrayType.GetArrayElementType;
  +  if not Assigned(LElementType) then
  +    Exit;
  +
  +  if not (LElementType is TRttiInstanceType) then
       Exit;
   
     LJSONValue := TJSONValueReader.ReadJSONValue(
  
positive.code:       end
    );
  
    TMARSMessageBodyReaderRegistry.Instance.RegisterReader<TJSONValue>(TJSONValueReader);
    TMARSMessageBodyReaderRegistry.Instance.RegisterReader<TStream>(TStreamReader);
  
  
negative.code:       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)
  