anchor.diff:    FUnitNames := TCollections.CreateList<string>;
   end;
   
  -procedure TDLUIXUnitBrowser.BuildFrame(const frame: IDLUIXFrame);
  +procedure TDLUIXUnitBrowser.BuildFrame(const frame: IDLUIXFrame;
  +  const state: TDLAnalysisState);
   var
     unitInfo: TProjectIndexer.TUnitInfo;
   begin
     FUnitNames.Clear;
  -  for unitInfo in FProjectInfo.ParsedUnits do
  +  for unitInfo in state.ProjectInfo.ParsedUnits do
       FUnitNames.Add(unitInfo.Name);
     FUnitNames.Sort;
   
  -  frame.CreateAction(CreateFilteredListAction('', FUnitNames, ''));
  +  frame.CreateAction(CreateFilteredListAction('', FUnitNames, state.FileName));
     frame.CreateAction(CreateOpenAnalyzerAction('Used &in', CreateUnitBrowser));
     frame.CreateAction(CreateOpenAnalyzerAction('Used &by', CreateUnitBrowser));
     frame.CreateAction(CreateNavigationAction('&Open', Default(TDLUIXLocation), false));
  
positive.code: type
    TDLUIXUnitBrowser = class(TManagedInterfacedObject, IDLUIXAnalyzer)
    strict private
      FUnitNames  : IList<string>;
      FProjectInfo: IDLScanResult;
    public
      constructor Create;
      procedure BuildFrame(const frame: IDLUIXFrame);
      function  CanHandle(const state: TDLAnalysisState): boolean;
    end; { TDLUIXNavigationAnalyzer }
  
  
negative.code: function TDLUIXUnitBrowser.CanHandle(const state: TDLAnalysisState): boolean;
  begin
    Result := (state.ProjectInfo.ParsedUnits.Count > 0);
  end; { TDLUIXUnitBrowser.CanHandle }
  
  end.
  