private void ProcessEmbeddedCode()
{
string content = _innerContext.SourceCode;
int contentRemainderLength = _innerContext.RemainderLength;
HtmlTag stackedTag = _tagStack.LastOrDefault();
if (stackedTag != null)
{
string stackedTagName = stackedTag.Name;
string stackedTagNameInLowercase = stackedTag.NameInLowercase;
Regex stackedTagRegex = _tagWithEmbeddedRegexCache.GetOrAdd(stackedTagNameInLowercase,
key => new Regex(@"([\s\S]*?)</" + Regex.Escape(key) + @"\s*>", RegexOptions.IgnoreCase));
var stackedTagMatch = stackedTagRegex.Match(content, _innerContext.Position, contentRemainderLength);
string htmlFragment = stackedTagMatch.Value;
string code = stackedTagMatch.Groups[1].Value;
if (_handlers.EmbeddedCode != null)
{
_handlers.EmbeddedCode(_context, code);
}
ParseEndTag(stackedTagName, stackedTagNameInLowercase);
_innerContext.IncreasePosition(htmlFragment.Length);
}
}