code: def split(self):
          
          if self.package_request.conflict or (len(self.variant_slice) == 1):
              return None
          else:
              r = self.variant_slice.split()
              if r is None:
                  return None
              else:
                  slice, next_slice = r
                  scope = self._copy(slice)
                  next_scope = self._copy(next_slice)
                  return (scope, next_scope)
docs: Split the scope.
  
          Returns:
              A (_PackageScope, _PackageScope) tuple, where the first scope is
              guaranteed to have a common dependency. Or None, if splitting is
              not applicable to this scope.