ParamList param_list(get_param_list());
for(ParamList::const_iterator iter(param_list.begin()); iter != param_list.end(); ++iter)
{
ParamList param_list(get_param_list());
for(ParamList::const_iterator iter(param_list.begin()); iter != param_list.end(); ++iter)
{
Canvas::Handle new_canvas(canvas->clone(deriv_guid));
ValueBase value(new_canvas);
ret->set_param(iter->first, value);
Canvas::Handle new_canvas(canvas->clone(deriv_guid));
ValueBase value(new_canvas);
ret->set_param(iter->first, value);
DynamicParamList::const_iterator iter;
for(iter=dynamic_param_list().begin();iter!=dynamic_param_list().end();++iter)
{
DynamicParamList::const_iterator iter;
for(iter=dynamic_param_list().begin();iter!=dynamic_param_list().end();++iter)
{
if(iter->second->get_type()==ValueBase::TYPE_CANVAS)
{
Canvas::Handle canvas((*iter->second)(0).get(Canvas::Handle()));
if(iter->second->get_type()==ValueBase::TYPE_CANVAS)
{
Canvas::Handle canvas((*iter->second)(0).get(Canvas::Handle()));