/// <summary>Visit an identifier entity accessor.</summary>
 /// <param name="entityAccessor">Identifier entity accessor to be visited.</param>
 protected abstract void VisitIdentifierEntityAccessor(IdentifierEntityAccessor entityAccessor);
 /// <summary>Visit an identifier entity accessor.</summary>
 /// <param name="entityAccessor">Identifier entity accessor to be visited.</param>
 protected override void VisitIdentifierEntityAccessor(IdentifierEntityAccessor entityAccessor)
 {
     Call predicateBind = new Call(MethodNames.Bind);
     predicateBind.Arguments.Add(new Alias(new Literal(Rdf.predicate), new Identifier(entityAccessor.About.Name + "_Predicate")));
     Call objectBind = new Call(MethodNames.Bind);
     objectBind.Arguments.Add(new Alias(new Literal([email protected]), new Identifier(entityAccessor.About.Name + "_Object")));
     _injectedComponents.Add(predicateBind);
     _injectedComponents.Add(objectBind);
     VisitStrongEntityAccessor(entityAccessor.EntityAccessor);
     _injectedComponents.Clear();
 }
        private void OverrideIdentifierSelector(StrongEntityAccessor entityAccessor)
        {
            IdentifierEntityAccessor identifierEntityAccessor = new IdentifierEntityAccessor(entityAccessor.About, entityAccessor);
            int indexOf = -1;
            if ((indexOf = _query.Elements.IndexOf(entityAccessor)) != -1)
            {
                _query.Elements.RemoveAt(indexOf);
                _query.Elements.Insert(indexOf, identifierEntityAccessor);
            }

            _query.Select.Clear();
            _query.Select.Add(identifierEntityAccessor);
            _mainFromComponent = identifierEntityAccessor;
        }