private void EnterIdentifier(RuleContext context, Selection selection)
{
var name = context.GetText();
// there should only be one match here.. in theory...
var matches = _declarations[name].Where(IsInScope);
// ...but let's not make that assumption:
foreach (var declaration in matches)
{
var isAssignment = IsAssignmentContext(context);
var reference = new IdentifierReference(_projectName, _componentName, name, selection, isAssignment);