public static DynamicTag Tag_DynamicAnyProcessor(DynamicTag inputObject, TagData data) { string tagName = data.Bits[data.cInd].Key; TemplateObject tagObject = inputObject.Internal; TagType originalType = tagObject.GetTagType(data.TagSystem.Types); TagType objectType = originalType; TagHelpInfo tagHelper; while (!objectType.TagHelpers.TryGetValue(tagName, out tagHelper)) { if (objectType.SubType == null) { throw data.Error("Invalid sub-tag '" + TextStyle.Separate + tagName + TextStyle.Base + "' at sub-tag index " + TextStyle.Separate + data.cInd + TextStyle.Base + " for type '" + TextStyle.Separate + originalType.TypeName + TextStyle.Base + (tagName.Trim().Length == 0 ? "' (stray '.' dot symbol?)!" : "' (sub-tag doesn't seem to exist)!")); } tagObject = objectType.GetNextTypeDown(tagObject); objectType = objectType.SubType; } return(new DynamicTag(tagHelper.RunTagLive(tagObject, data))); }