ItemRange *NumericItemRange::clone() const
{
    ItemRange *items = new NumericItemRange();
    for(const SPNumericItem& it: _items) {
        items->add(it->clone());
    }
    items->interpolation(interpolation());

    return items;

}
ItemRange *IntervalRange::clone() const
{
    ItemRange *items = new IntervalRange();
    for(const SPInterval& it: _items) {
        items->add(it->clone());
    }
    items->interpolation(interpolation());

    return items;

}