syncSelection() {
      if (this.stepsCount === 0) {
        return;
      }
      // If no selected steps -> select the first step.
      if (this.selectedStepsCount === 0) {
        this.selectFirstStep();
        console.warn("Selecting the first step: no selected step is defined."); // eslint-disable-line
      }
      // If there are multiple selected steps -> keep the last selected one.
      if (this.selectedStepsCount > 1) {
        this.selectLastSelectedStep();
        console.warn(`Selecting the last step defined as selected: multiple selected steps are defined.`); // eslint-disable-line
      }
      // If the selected step is defined as disabled - log warning.
      if (this.selectedStep && this.selectedStep.disabled) {
        console.warn("The selected step is disabled: you need to enable it in order to interact with the step."); // eslint-disable-line
      }
      // Place for improvement: If the selected step is not the first, enable all the prior steps
      this.selectedStepIndex = this.getSelectedStepIndex();
    }
Normalizes the step selection as follows:
(1) If there is no selected step - the first step is going to be selected.
(2) If the selected steps are more than one - the last step is going to be selected.
(3) If the selected step is also disabled - log a warning.
@private