CElement *CElement::findDescendant(CPathNavigator &pathNavigator)
{
    string *pStrChildName = pathNavigator.next();

    if (!pStrChildName) {

        return this;
    }

    CElement *pChild = findChild(*pStrChildName);

    if (!pChild) {

        return NULL;
    }

    return pChild->findDescendant(pathNavigator);
}