protected virtual IDOMElement SearchForNode(IEnumerable <XElement> searchCriterea, IDOMElement domElement, PostModel postModel, bool useFirstElSearch = true)
        {
            Func <IDOMElement, bool> searchCritereaFilter = el =>
                                                            searchCriterea.All(elem => el.ElementMatch(elem.Name.ToString(),
                                                                                                       elem.Value.Replace(EXPECTED_AUTHOR_ID_MACRO_NAME, postModel.AuthorId).Replace(EXPECTED_POST_ID_MACRO_NAME, postModel.PostId),
                                                                                                       elem.Attributes().Any(attr => attr.Name.ToString().ToLower() == USE_STRICT_EQUAL_CHECK_ATTRIBUTE_NAME.ToLower() && bool.Parse(attr.Value))));

            return(useFirstElSearch ? domElement.GetFirstChildInSubThree(searchCritereaFilter) : domElement.GetLastChildInSubThree(searchCritereaFilter));
        }