I have a similar library to yours and implemented step skipping by introducing a skip() method on the step that would return true or false depending on whether the step should be skipped.
I've added a skip() method to your abstract Step class and updated your prev() and get() methods in StepRepository to:
I have a similar library to yours and implemented step skipping by introducing a skip() method on the step that would return true or false depending on whether the step should be skipped.
I've added a skip() method to your abstract Step class and updated your prev() and get() methods in StepRepository to:
This seems to work with skipping steps. I'll try and put some more time into this if you would like to test and tidy it up.
Just thought I'd share what I'd done previously.