anchor.diff:      FAllOf: TStrings;
       FAnyOf: TStrings;
       FNoneOf: TStrings;
  +    function isAllOfStored: Boolean;
  +    function isAnyOfStored: Boolean;
  +    function isNoneOfStored: Boolean;
       procedure SetAllOf(AValue: TStrings);
       procedure SetAnyOf(AValue: TStrings);
       procedure SetNoneOf(AValue: TStrings);
  
positive.code:     procedure AfterDeSerialize;
      procedure BeforeDeSerialize;
    published
      property AnyOf: TStrings read FAnyOf write SetAnyOf;
      property AllOf: TStrings read FAllOf write SetAllOf;
      property NoneOf: TStrings read FNoneOf write SetNoneOf;
    end;
  
    {$pop}
  
negative.code: begin
    if FAllOf=AValue then Exit;
    FAllOf:=AValue;
  end;
  
  function TLogicalIDCondition.isAllOfStored: Boolean;
  begin
    Result := FAllOf.Count >0;
  end;
  
  function TLogicalIDCondition.isAnyOfStored: Boolean;
  begin
    Result := FAnyOf.Count >0;
  end;
  
  function TLogicalIDCondition.isNoneOfStored: Boolean;
  begin
    Result := FNoneOf.Count >0;
  end;
  
  procedure TLogicalIDCondition.SetAnyOf(AValue: TStrings);
  