anchor.diff:                    end;
                   end;
               end;
  -        if ok then
  +          end;
  +        end;
  +        if ok or not (val and (pp.type_ = cptBoolean) and (value = 'false')) then
             list.Add(c.Link, 0);
         end;
         iterateConceptsByProperty(c.conceptList, pp, value, list);
  
positive.code:       for cp in cc.properties.forEnum do
        begin
          pp := getProperty(cp.code);
          if (pp <> nil) and hasProp(props, cp.code, true) then
          begin
            p := resp.addprop(cp.code);
            p.value := cp.value.link; // todo: should we check this?
          end;
        end;
    finally
  
negative.code:       for cc in concepts do
        begin
          ok := false;
          val := false;
          for cp in cc.properties.forEnum do
          begin
            if not ok and (cp.code = pp.code) then
            begin
              val := true;
              case pp.type_ of
                cptCode, cptString, cptInteger, cptBoolean, cptDateTime, cptDecimal:
                  ok := cp.value.primitiveValue = value;
  