@source.setter<EOL><INDENT>def source(self, newsource):<DEDENT>
oldsource = self.source<EOL>for feature in self:<EOL><INDENT>if feature.source == oldsource:<EOL><INDENT>feature._source = newsource<EOL><DEDENT><DEDENT>
When modifying source, also update children with matching source.