human
I wrote the below code

    for chunk in plugin.Start():
        (yield chunk)
    for stored_type_name in sorted(output_collection.ListStoredTypes()):
        stored_cls = rdfvalue.RDFValue.classes[stored_type_name]
        def GetValues():
            for (timestamp, value) in output_collection.ScanByType(stored_type_name):
                _ = timestamp
                if source_urn:
                    value.source = source_urn
                (yield value)
        for chunk in plugin.ProcessValues(stored_cls, GetValues):
            (yield chunk)
    for chunk in plugin.Finish():
        (yield chunk)

What's a good function header?

Here's a good function header?
assistant
#Here's a good function header.

def ApplyPluginToMultiTypeCollection(plugin, output_collection, source_urn=None):