code: def get_illegal_targets(part, include):
      
      list_of_illegal_targets = include or set()
      for descendant in part.children(descendants='children'):
          list_of_illegal_targets.add(descendant.id)
      return list_of_illegal_targets
docs: Retrieve the illegal parent parts where `Part` can be moved/copied.
  
      :param part: `Part` to be moved/copied.
      :type part: :class:`Part`
      :param include: `Set` object with id's to be avoided as target parent `Part`
      :type include: set
      :return: `List` object of illegal id's
      :rtype: list