docs: def _create_activity2(self, parent, name, activity_type=ActivityType.TASK):
          """Create a new activity.
  
          .. important::
              This function creates activities for KE-chain versions later than 2.9.0-135
              In effect where the module 'wim' has version '>=2.0.0'.
              The version of 'wim' in KE-chain can be found in the property :attr:`Client.app_versions`
  
          In WIM2 the type of the activity is called activity_type
  
          :param parent: parent under which to create the activity
          :type parent: basestring or :class:`models.Activity2`
          :param name: new activity name
          :type name: basestring
          :param activity_type: type of activity: TASK (default) or PROCESS
          :type activity_type: basestring
          :return: the created :class:`models.Activity2`
          :raises APIError: When the object could not be created
          :raises IllegalArgumentError: When an incorrect activitytype or parent is provided
          """
          # WIM1: activity_class, WIM2: activity_type
          if self.match_app_version(label='wim', version='<2.0.0', default=True):
              raise APIError('This method is only compatible with versions of KE-chain where the internal `wim` module '
                             'has a version >=2.0.0. Use the `Client.create_activity()` method.')
  
          if activity_type and activity_type not in ActivityType.values():
              raise IllegalArgumentError("Please provide accepted activity_type (provided:{} accepted:{})".
                                         format(activity_type, ActivityType.values()))
          if isinstance(parent, (Activity, Activity2)):
              parent = parent.id
          elif is_uuid(parent):
              parent = parent
          else:
              raise IllegalArgumentError("Please provide either an activity object or a UUID")
  
          data = {
              "name": name,
              "parent_id": parent,
              "activity_type": activity_type
          }
  
          response = self._request('POST', self._build_url('activities'), data=data,
                                   params=API_EXTRA_PARAMS['activities'])
  
          if response.status_code != requests.codes.created:  # pragma: no cover
              raise APIError("Could not create activity")
  
          data = response.json()
  
          return Activity2(data['results'][0], client=self)