code: def register_collinear_then_noncollinear_scf_task(self, *args, **kwargs):
          
          kwargs["task_class"] = CollinearThenNonCollinearScfTask
          return self.register_task(*args, **kwargs)
docs: Register a Scf task that perform a SCF run first with nsppol = 2 and then nspinor = 2