- const std::vector<Type> &v = static_cast<ChoiceCondition<T> *>(*i)->values;
- if(!result)
- result = new ChoiceCondition<T>(v);
- else
- result->values.insert(result->values.end(), v.begin(), v.end());
+ const std::vector<Type> &v = static_cast<const ChoiceCondition<T> *>(*i)->values;
+ for(typename std::vector<Type>::const_iterator j=v.begin(); j!=v.end(); ++j)
+ if(Msp::find(result->values, *j)==result->values.end())
+ result->values.push_back(*j);