code: def process_step(self, form):
          
          step = self.steps.current
  
          # If the form is not-idempotent (cannot be validated multiple times),
          # the cleaned data should be stored; marking the form as validated.
          self.storage.validated_step_data[step] = form.cleaned_data
  
          # It is assumed that earlier steps affect later steps; so even though
          # those forms might not be idempotent, we'll remove the validated data
          # to force re-entry.
          # form_list = self.get_form_list(idempotent=False)
          form_list = self.get_form_list()
          keys = list(form_list.keys())
          key = keys.index(step) + 1
          for next_step in keys[key:]:
              self.storage.validated_step_data.pop(next_step, None)
  
          return super(IdempotentSessionWizardView, self).process_step(form)
docs: Stores the validated data for `form` and cleans out validated forms
          for next steps, as those might be affected by the current step. Note
          that this behaviour is relied upon by the `LoginView` to prevent users
          from bypassing the `TokenForm` by going steps back and changing
          credentials.