void TextEditorBase::onCreate(const TextEditor *source)
{
    Inherited::onCreate(source);

    if(source != NULL)
    {
        TextEditor *pThis = static_cast<TextEditor *>(this);

        MFUnrecAdvancedTextDomAreaPtr::const_iterator AdvancedTextDomAreasIt  =
            source->_mfAdvancedTextDomAreas.begin();
        MFUnrecAdvancedTextDomAreaPtr::const_iterator AdvancedTextDomAreasEnd =
            source->_mfAdvancedTextDomAreas.end  ();

        while(AdvancedTextDomAreasIt != AdvancedTextDomAreasEnd)
        {
            pThis->pushToAdvancedTextDomAreas(*AdvancedTextDomAreasIt);

            ++AdvancedTextDomAreasIt;
        }

        pThis->setFocusedDomArea(source->getFocusedDomArea());
    }
}