anchor.diff:          AGroup.EnumExtensions(AExtensions);
           if (AGroup = vGroup) and (FirstExtension <> '') then
           begin
  -          if AExtensions.Find(FirstExtension, n) then
  +          n := AExtensions.IndexOf(FirstExtension);
  +          if n >= 0 then
               AExtensions.Move(n, 0);
           end;
   
  
positive.code: 
    i := Index;
    aParent := Engine;
    a := (aParent.Files.Current <> nil) and aParent.Files.Current.Activated;
    if aParent.Files.FCurrent = self then
      aParent.Files.FCurrent := nil;
  
negative.code:   aParent.Files.SetCurrentIndex(i, False);
    if a and (aParent.Files.Current <> nil) then
      aParent.Files.Current.Activate;
    aParent.UpdateState([ecsChanged, ecsState, ecsRefresh]);
  end;
  
  