void GeometryBase::assignProperties(const MFUnrecChildGeoVectorPropertyPtr &value)
{
    MFUnrecChildGeoVectorPropertyPtr::const_iterator elemIt  =
        value.begin();
    MFUnrecChildGeoVectorPropertyPtr::const_iterator elemEnd =
        value.end  ();

    static_cast<Geometry *>(this)->clearProperties();

    while(elemIt != elemEnd)
    {
        this->pushToProperties(*elemIt);

        ++elemIt;
    }
}
void CPUSkinningDataAttachmentBase::assignProperties(const MFUnrecChildGeoVectorPropertyPtr &value)
{
    MFUnrecChildGeoVectorPropertyPtr::const_iterator elemIt  =
        value.begin();
    MFUnrecChildGeoVectorPropertyPtr::const_iterator elemEnd =
        value.end  ();

    static_cast<CPUSkinningDataAttachment *>(this)->clearProperties();

    while(elemIt != elemEnd)
    {
        this->pushToProperties(*elemIt);

        ++elemIt;
    }
}