code: public List<StepCandidate> collectCandidates(List<CandidateSteps> candidateSteps) {
          List<StepCandidate> collected = new ArrayList<>();
          for (CandidateSteps steps : candidateSteps) {
              collected.addAll(steps.listCandidates());
          }
          return collected;
      }
docs: Collects a list of step candidates from {@link CandidateSteps} instances.
  
  @param candidateSteps
  the list {@link CandidateSteps} instances
  @return A List of {@link StepCandidate}