protected override async Task <CompletionDataList> GetAttributeValueCompletions(IAttributedXObject ob, XAttribute att, CancellationToken token)
        {
            var list = (await base.GetAttributeValueCompletions(ob, att, token)) ?? new CompletionDataList();

            if (ob is XElement)
            {
                if (ob.Name.HasPrefix)
                {
                    string id = ob.GetId();
                    if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(id.Trim()))
                    {
                        id = null;
                    }
                    AddAspAttributeValueCompletionData(list, ob.Name, att.Name, id);
                }
            }
            else if (ob is WebFormsDirective)
            {
                return(WebFormsDirectiveCompletion.GetAttributeValues(project, DocumentContext.Name, ob.Name.FullName, att.Name.FullName));
            }
            return(list.Count > 0? list : null);
        }