anchor.diff:  constructor TmVirtualFieldDefs.Create;
   begin
     inherited Create(TmVirtualFieldDef);
  -  FIndex := TStringHashMap.Create();
  +  FIndex := TmStringDictionary.Create(false);
   end;
   
   destructor TmVirtualFieldDefs.Destroy;
  
positive.code: 
  function TmVirtualFieldDefs.FindByName(const aName: string): TmVirtualFieldDef;
  var
    tmp : pointer;
    i : integer;
  begin
    if FIndex.Count = 0 then
  
negative.code: 
    TmVirtualFieldDefs = class(TCollection)
    strict private
      FIndex : TmStringDictionary;
      function GetVirtualFieldDef(I: Integer): TmVirtualFieldDef;
      procedure OnChangeFieldName (aSender : TObject);
    public
  