anchor.diff:              Result := True;
   
               if Value.Kind <> tkClass then
  -              Value := GetTypeData(TypeInfo).ClassType.Create;
  +            begin
  +              Value := CreateInstance(Context, TypeInfo);
  +            end;
   
               method := Context.GetType(Value.AsObject.ClassType).GetMethod('Add');
   
  
positive.code:         begin
            Result := True;
            if Value.Kind <> tkClass then
              Value := GetTypeData(TypeInfo).ClassType.Create;
            for f in Context.GetType(Value.AsObject.ClassType).GetFields do
              if f.FieldType <> nil then
              begin
  
negative.code: function IsGenericType(TypeInfo: PTypeInfo): Boolean;
  function GetDeclaredGenericType(RttiContext: TRttiContext; TypeInfo: PTypeInfo): TRttiType;
  function IsList(RttiContext: TRttiContext; TypeInfo: PTypeInfo): Boolean;
  function CreateInstance(RttiContext: TRttiContext; TypeInfo: PTypeInfo): TValue ;
  {$ENDIF}
  
  implementation
  