docs: def get_children(self, obj):
          """
          Some plugins can contain children
          This method supposed to get children and
          prepare and return together with parent object
          :param obj:
          :return:
          """
          data = []
          plugin = obj.get_plugin_class()
          if not(getattr(plugin, 'allow_children', False) and getattr(plugin, 'child_classes', None)):
              return data
          children = obj.get_descendants().order_by('placeholder', 'path')
          children = [obj] + list(children)
          children = list(downcast_plugins(children))
          children[0].parent_id = None
          children = list(build_plugin_tree(children))
  
          def get_plugin_data(child_plugin):
              serializer = get_serializer(child_plugin, model=child_plugin._meta.model, context=self.context)
              plugin_data = serializer.data
              plugin_data['inlines'] = self.get_inlines(child_plugin)
              if child_plugin.child_plugin_instances:
                  plugin_data['children'] = []
                  for plug in child_plugin.child_plugin_instances:
                      plugin_data['children'].append(get_plugin_data(plug))
              return plugin_data
  
          for child in children[0].child_plugin_instances or []:
              data.append(get_plugin_data(child))
          return data