docs: def create_activity(self, *args, **kwargs):
          """
          Create a new activity.
  
          .. important::
              This is a shim function that based on the implementation of KE-chain will determine to create
              the activity using the legacy WIM API (KE-chain < 2.9.0) or the newer WIM2 API (KE-chain >= 2.9.0).
              It will either return a :class:`Activity` or a :class:`Activity2`.
  
          :param args:
          :param kwargs:
          :return: the created :class:`models.Activity` or :class:`models.Activity2`
          :raises APIError: When the object could not be created
          :raises IllegalArgumentError: When the provided arguments are incompatible with the WIM API implementation.
          """
          if self.match_app_version(label='wim', version='<2.0.0', default=True):
              # for wim1
              if 'activity_type' in kwargs:
                  warnings.warn('For WIM versions 1, you need to ensure to use `activity_class`. Update your code; '
                                'This will be deprecated in APR2018.')
                  activity_type = kwargs.pop('activity_type')
                  if activity_type not in ActivityType.values():
                      raise IllegalArgumentError(
                          "Please provide accepted activity_type: '{}' not allowed".format(activity_type))
                  kwargs['activity_class'] = WIMCompatibleActivityTypes.get(activity_type)
              if 'parent' in kwargs:
                  warnings.warn('For WIM versions 1, you need to ensure to use `process`. Update your code; '
                                'This will be deprecated in APR2018.')
                  kwargs['process'] = kwargs.pop('parent')
              return self._create_activity1(*args, **kwargs)
          else:
              # for wim2
              # make old calls compatible with WIM2
              if 'activity_class' in kwargs:
                  warnings.warn('For WIM versions 2, you need to ensure to use `activity_type`. Update your code; '
                                'This will be deprecated in APR2018.')
                  activity_class = kwargs.pop('activity_class')
                  if activity_class not in ActivityType.values():
                      raise IllegalArgumentError(
                          "Please provide accepted activity_type: '{}' not allowed".format(activity_class))
                  kwargs['activity_type'] = WIMCompatibleActivityTypes.get(activity_class)
              if 'process' in kwargs:
                  warnings.warn('For WIM versions 2, you need to ensure to use `parent` instead of `process`. Update '
                                'your code; This will be deprecated in APR2018.')
                  kwargs['parent'] = kwargs.pop('process')
              return self._create_activity2(*args, **kwargs)