anchor.diff:      property Project: IDLScanResult read GetProject;
       property Source: TDLUIXLocation read GetSource;
       property Target: Nullable<TDLUIXLocation> read GetTarget write SetTarget;
  +    property SyntaxNode: TSyntaxNode read GetSyntaxNode;
  +    property NamedSyntaxNode: TSyntaxNode read GetNamedSyntaxNode;
     end; { TDLUIWorkerContext }
   
   { exports }
  
positive.code: 
  constructor TDLUIWorkerContext.Create(const AStorage: IDLUIXStorage; const AProject:
    IDLScanResult; const ASource: TDLUIXLocation);
  begin
    FStorage := AStorage;
    FProject := AProject;
    FSource := ASource;
  end; { TDLUIWorkerContext.Create }
  
  function TDLUIWorkerContext.GetProject: IDLScanResult;
  begin
    Result := FProject;
  end;
  
  function TDLUIWorkerContext.GetSource: TDLUIXLocation;
  begin
    Result := FSource;
  end;
  
  function TDLUIWorkerContext.GetStorage: IDLUIXStorage;
  begin
    Result := FStorage;
  end;
  
  function TDLUIWorkerContext.GetTarget: Nullable<TDLUIXLocation>;
  begin
    Result := FTarget;
  end;
  
  procedure TDLUIWorkerContext.SetTarget(const value: Nullable<TDLUIXLocation>);
  begin
  
negative.code: 
  implementation
  
  uses
    DelphiAST.ProjectIndexer,
    DelphiLens.DelphiASTHelpers;
  
  type
    TDLUIWorkerContext = class(TInterfacedObject, IDLUIWorkerContext)
    strict private
      FNamedSyntaxNode: TSyntaxNode;
      FProject        : IDLScanResult;
      FSource         : TDLUIXLocation;
      FStorage        : IDLUIXStorage;
      FSyntaxNode     : TSyntaxNode;
      FTarget         : Nullable<TDLUIXLocation>;
    strict protected
      function  GetNamedSyntaxNode: TSyntaxNode;
      function  GetProject: IDLScanResult;
      function  GetSyntaxNode: TSyntaxNode;
      function  GetSource: TDLUIXLocation;
      function  GetStorage: IDLUIXStorage;
      function  GetTarget: Nullable<TDLUIXLocation>;
  