Hans,
When the "itkGetObjectMacro( Foo, FooType)" is converted to the "itkGetModifiableObjectMacro( Foo, FooType)", you have used 
"Name->GetModifiableFoo()" instead of "Name->GetFoo()" e.g in:
duplicator->GetModifiableOutput() or rgbfilter->GetModifiableColormap()

Why this notation is not used here?
like: filter->GetModifiableMetric()