anchor.diff:      Ctx : TRttiContext;
       InstanceType : TRttiInstanceType;
       Prop : TRttiProperty;
  +    sArray : String;
  +    V : TValue;
  +    L : TStringList;
  +    arrV : array of TValue;
  +    i : Integer;
   begin
     Ctx := TRttiContext.Create;
     try
  
positive.code:           Prop.SetValue(Instance, FConfigFile.Config.ReadInteger(Instance.QualifiedClassName, Prop.Name,
                                                                   GetPropDefaultValue(Prop).AsVariant))
          else
            case Prop.PropertyType.TypeKind of
              tkString, tkLString, tkWString, tkUString:
                Prop.SetValue(Instance, FConfigFile.Config.ReadString(Instance.QualifiedClassName, Prop.Name,
                                                                      GetPropDefaultValue(Prop).AsVariant));
            else
              Assert(False, 'Unhandled property type kind while deserializing object from config.');
            end;
        end;
    finally
      Ctx.Free;
  
negative.code:   ReadObjectFromConfig(FConfigData,
      function (const Instance : TObject; const Prop : TRttiProperty) : Boolean
      begin
        Result := (Prop.IsWritable or Prop.PropertyType.IsInstance) and FilterConfigProp(Instance, Prop);
      end
    );
  end;
  