    DRW_TableEntry(const DRW_TableEntry& e) :
        tType {e.tType},
        handle {e.handle},
        parentHandle {e.parentHandle},
        name {e.name},
        flags {e.flags},
        xDictFlag {e.xDictFlag},
        numReactors {e.numReactors},
        curr {nullptr}
    {
        for (std::vector<DRW_Variant *>::const_iterator it = e.extData.begin(); it != e.extData.end(); ++it) {
            DRW_Variant *src = *it;
            DRW_Variant *dst = new DRW_Variant( *src);
            extData.push_back( dst);
            if (src == e.curr) {
                curr = dst;
            }
        }
    }
    DRW_TableEntry(const DRW_TableEntry& e) :
        tType {e.tType},
        handle {e.handle},
        parentHandle {e.parentHandle},
        name {e.name},
        flags {e.flags},
        xDictFlag {e.xDictFlag},
        numReactors {e.numReactors},
        curr {nullptr}
    {
        for (std::vector<DRW_Variant *>::const_iterator it = e.extData.begin(); it != e.extData.end(); ++it) {
            DRW_Variant *src = *it;
            DRW_Variant *dst = new DRW_Variant( *src);
            extData.push_back( dst);
            if (src == e.curr) {
                curr = dst;
            }
        }
    }