Describe the bug
When a long invalid interval is made up of a string of shorter invalid intervals, half_norm_clean and random_clean in soiling.soiling_srr() behave differently. random_clean allows recovery between invalid intervals.
Expected behavior
Both random_clean and half_norm_clean should treat the entire chain of invalid intervals as a single valid interval without recoveries until the next valid interval is encountered.
Screenshots

Zoom in on the random_clean case shows unexpected recoveries:

Additional context
Note the example was generated with a partially complete version of the updates from #199 which changes the behavior to retain invalid intervals at beginning and end of dataset