anchor.diff:      constructor Create(); reintroduce; overload;
     end;
   
  +  /// <summary>
  +  /// Generic list which contains needed methods for kernel
  +  /// </summary>
  +  TSvList<T> = class(TList<T>)
  +  private
  +    FSorted: Boolean;
  +    procedure SetSorted(const Value: Boolean);
  +    function Convert(const Value: TValue): TValue;
  +  public
  +    /// <summary>
  +    /// Checks if list contains all the given values
  +    /// </summary>
  +    /// <param name="AValues">Values to check</param>
  +    /// <returns>true: all the values are in the list, otherwise - false</returns>
  +    function Includes(const AValues: array of T): Boolean;
  +    function ToString(): string; reintroduce;
  +    function IsEmpty(): Boolean;
  +    property Sorted: Boolean read FSorted write SetSorted;
  +  end;
  +
  +  TSvPair<TKey,TVal> = record
  +  public
  +    Key: TKey;
  +    Value: TVal;
  +
  +    procedure SetKey(const AKey: TKey);
  +    procedure SetValue(const AValue: TVal);
  +
  +    class function Init(const AKey: TKey; const AValue: TVal): TSvPair<TKey, TVal>; static;
  +  end;
  +
  +  TSvListMap<TKey, TVal> = class(TSvList<TSvPair<TKey,TVal>>)
  +  public
  +    function AddEx(const AKey: TKey; const AValue: TVal): Integer;
  +    procedure EditKey(AIndex: Integer; const AKey: TKey);
  +    procedure EditValue(AIndex: Integer; const AValue: TVal);
  +    function TryGetValue(const AKey: TKey; out AValue: TVal): Boolean;
  +    function TryGetValueDef(const AKey: TKey; out AValue: TVal; const ADef: TVal): Boolean;
  +    function GetValue(const AKey: TKey): TVal;
  +    function GetValueDef(const AKey: TKey; const ADef: TVal): TVal;
  +  end;
  +
  +  TSvIntegerIntegerList = class(TSvListMap<Integer, Integer>)
  +  public
  +    constructor Create(); reintroduce;
  +  end;
  +
  +  TSvIntegerDoubleList = class(TSvListMap<Integer, Double>)
  +  public
  +    constructor Create(); reintroduce;
  +  end;
  +
  +  TSvIntegerDynamicList = class(TSvListMap<Integer, TArray<Variant>>)
  +  public
  +    constructor Create(); reintroduce;
  +  end;
  +
  +  TSvStringStringList = class(TSvListMap<string, string>)
  +  public
  +    constructor Create(); reintroduce;
  +  end;
  +
  +
   implementation
   
  +uses
  +  TypInfo
  +  ,Generics.Defaults
  +  ,SysUtils
  +  ;
  +
   { TSvObjectList<T> }
   
   constructor TSvObjectList<T>.Create;
  
positive.code:   inherited Create(True);
  end;
  
  end.
  
negative.code: 
  uses
    Generics.Collections
    ,Rtti
    ;
  
  
  