anchor.diff:  procedure TCEMainForm.scedSendItem(const category, identifier: string; aShortcut: TShortcut);
   begin
   
  +end;
  +{$ENDREGION}
  +
  +{$REGION TCEActionProviderHandler ----------------------------------------------}
  +procedure TCEMainForm.clearActProviderEntries;
  +var
  +  prov: ICEActionProvider;
  +  act: TContainedAction;
  +  i, j: Integer;
  +begin
  +  for i:= 0 to fActionHandler.observersCount-1 do
  +  begin
  +    prov := fActionHandler[i] as ICEActionProvider;
  +    if not prov.actHandlerWantRecollect then continue;
  +    //
  +    for j := Actions.ActionCount-1 downto 0 do
  +    begin
  +      act := Actions.Actions[j];
  +      if act.Owner = Self then continue;
  +      if act.Tag <> PtrInt(prov) then continue;
  +      //
  +      act.ActionList := nil;
  +    end;
  +  end;
  +end;
  +
  +procedure TCEMainForm.collectedActProviderEntries;
  +var
  +  prov: ICEActionProvider;
  +  act: TCustomAction;
  +  cat: string;
  +  i: Integer;
  +  procedure addAction;
  +  begin
  +    act.ActionList := Actions;
  +    act.Tag := ptrInt(prov);
  +    act.Category := cat;
  +    //
  +    act := nil;
  +    cat := '';
  +  end;
  +
  +begin
  +  for i:= 0 to fActionHandler.observersCount-1 do
  +  begin
  +    prov := fActionHandler[i] as ICEActionProvider;
  +    if not prov.actHandlerWantFirst then continue;
  +    //
  +    act := nil;
  +    cat := '';
  +    while prov.actHandlerWantNext(cat, act) do
  +      addAction;
  +    addAction;
  +  end;
   end;
   {$ENDREGION}
   
  
positive.code:     fMainMenuSubj: TCEMainMenuSubject;
      procedure updateMainMenuProviders;
  
      // ICEMultiDocObserver
      procedure docNew(aDoc: TCESynMemo);
      procedure docClosing(aDoc: TCESynMemo);
  
negative.code:   private
  
      fDoc: TCESynMemo;
      fActionHandler: TCEActionProviderSubject;
      fMultidoc: ICEMultiDocHandler;
      fScCollectCount: Integer;
      fUpdateCount: NativeInt;
  