code: def children(self, **kwargs):
          
          if self.activity_type != ActivityType.PROCESS:
              raise NotFoundError("Only subprocesses can have children, please choose a subprocess instead of a '{}' "
                                  "(activity '{}')".format(self.activity_type, self.name))
  
          return self._client.activities(parent_id=self.id, scope=self.scope_id, **kwargs)
docs: Retrieve the direct activities of this subprocess.
  
          It returns a combination of Tasks (a.o. UserTasks) and Subprocesses on the direct descending level.
          Only when the activity is a Subprocess, otherwise it raises a NotFoundError
  
          :param kwargs: Additional search arguments, check :func:`pykechain.Client.activities` for additional info
          :type kwargs: dict or None
          :return: a list of :class:`Activity2`
          :raises NotFoundError: when this task is not of type `ActivityType.PROCESS`
  
          Example
          -------
          >>> parent = project.parent('Subprocess')
          >>> children = subprocess.children()
  
          Example searching for children of a subprocess which contains a name (icontains searches case insensitive
  
          >>> parent = project.parent('Subprocess')
          >>> children = subprocess.children(name__icontains='more work')