anchor.diff:      procedure WriteArrayValue(const AName: string; const AArray: TJSONArray); overload; inline;
       procedure WriteArrayValue<T: record>(const AName: string; const AArray: TArray<T>); overload; inline;
   
  -    property Values[const name: string]: Variant read GetValue; default;
  -
       procedure FromRecord<T: record>(ARecord: T; const AFilterProc: TToJSONFilterProc = nil); overload;
       procedure FromRecord(const ARecord: TValue; const AFilterProc: TToJSONFilterProc = nil); overload;
       function ToRecord<T: record>(const AFilterProc: TToRecordFilterProc = nil): T; overload;
  
positive.code:     function GetCount: Integer; inline;
      function GetPair(const Index: Integer): TJSONPair; inline;
  {$endif}
      function GetValue(const name: string): Variant;
      function GetExactPairName(const ACaseInsensitiveName: string): string;
    public
      function ReadStringValue(const AName: string; const ADefault: string = ''): string;
  
negative.code:   end;
  end;
  
  
  class function TJSONObjectHelper.JSONToObject(const AClassType: TClass;
    const AJSON: TJSONObject; const AOptions: TJsonOptions): TObject;
  