In SeparateModesKernel._create_new_items, the current logic has a special else branch that keeps the original item for the last remaining inherited mode/pipeline (i.e., when only one pipeline applies to an item). This conditional behaviour could be altered so that all the items create/duplicate/rename the item depending on its pipeline and with this the else branch could be eliminated.
Further, it probably makes sense to combine the Multipipeline/SeparateModesKernel logic with the DependencyTrafo to simplify both.
In SeparateModesKernel._create_new_items, the current logic has a special else branch that keeps the original item for the last remaining inherited mode/pipeline (i.e., when only one pipeline applies to an item). This conditional behaviour could be altered so that all the items create/duplicate/rename the item depending on its pipeline and with this the
elsebranch could be eliminated.Further, it probably makes sense to combine the Multipipeline/SeparateModesKernel logic with the
DependencyTrafoto simplify both.