anchor.diff:    end;
   end;
   
  -procedure TJsonObject.FromSimpleObject(AObject: TObject; ALowerCamelCase: Boolean);
  -var
  -  Index, Count: Integer;
  +procedure TJsonObject.FromSimpleObject(AObject: TObject; ALowerCamelCase: Boolean; ASkipDefaultValues: Boolean);
  +var
  +  Index, Count, intVal: Integer;
     PropList: PPropList;
     PropType: PTypeInfo;
  -  PropName: string;
  +  PropName, strVal: string;
     V: Variant;
     D: Double;
     Ch: Char;
  +  boolVal: Boolean;
   begin
     Clear;
     if AObject = nil then
  
positive.code: 
            case PropList[Index].PropType^.Kind of
              tkInteger, tkChar, tkWChar:
                InternAdd(PropName, GetOrdProp(AObject, PropList[Index]));
  
              tkEnumeration:
                begin
                  PropType := PropList[Index].PropType^;
                  if (PropType = TypeInfo(Boolean)) or (PropType = TypeInfo(ByteBool)) or
                     (PropType = TypeInfo(WordBool)) or (PropType = TypeInfo(LongBool)) then
                    InternAdd(PropName, GetOrdProp(AObject, PropList[Index]) <> 0)
                  else
                    InternAdd(PropName, GetOrdProp(AObject, PropList[Index]));
                end;
  
negative.code:     procedure ToSimpleObject(AObject: TObject; ACaseSensitive: Boolean = True);
      // FromSimpleObject() clears the JSON object and adds the Delphi object's properties.
      // The object's class must be compiled with the $M+ compiler switch or derive from TPersistent.
      procedure FromSimpleObject(AObject: TObject; ALowerCamelCase: Boolean = False; ASkipDefaultValues: Boolean = False);
  
      procedure Clear;
      procedure Remove(const Name: string);
  