anchor.diff:              end else begin
                raise EFLRE.Create('Duplicate named group');
               end;
  +            NamedGroupStringIntegerPairHashMap.Add(IntToStr(Value),Value);
  +            if NamedGroupStringList.IndexOf(IntToStr(Value))<0 then begin
  +             NamedGroupStringList.Add(IntToStr(Value));
  +            end else begin
  +             raise EFLRE.Create('Duplicate named group');
  +            end;
               GroupIndexIntegerStack.Add(Value);
               GroupNameStringStack.Add(Name);
               try
  
positive.code:            end else begin
              raise EFLRE.Create('Duplicate named group');
             end;
             GroupIndexIntegerStack.Add(Value);
             GroupNameStringStack.Add(Name);
             try
  
negative.code:          end;
           CapturesToSubMatchesMap[CountCaptures]:=Value;
           inc(CountCaptures);
           NamedGroupStringIntegerPairHashMap.Add(IntToStr(Value),Value);
           if NamedGroupStringList.IndexOf(IntToStr(Value))<0 then begin
            NamedGroupStringList.Add(IntToStr(Value));
           end else begin
            raise EFLRE.Create('Duplicate named group');
           end;
           GroupIndexIntegerStack.Add(Value);
           try
            result:=NewNode(ntPAREN,ParseDisjunction,nil,nil,Value);
  