def _fracture_right(self, i): self, left, right = ComplexBeamSpanner._fracture_right(self, i) weights = [left.get_duration(), right.get_duration()] assert sum(self.durations) == sum(weights) split_durations = sequencetools.split_sequence_by_weights( self.durations, weights, cyclic=False, overhang=False) left_durations, right_durations = split_durations left._durations = left_durations right._durations = right_durations return self, left, right