protected function generateSourceFromChildren()
    {
        $i = 1;
        $children = array();
        foreach ($this->children as $child) {
            $childValue = Yaml::parse($child->getSource());
            if (is_array($childValue) && array_key_exists("type", $childValue)) {
                $childValue["type"] = $child->getType();
            }
            $children['item' . $i] = $childValue;
            $i++;
        }

        $source = array(
            "children" => $children,
        );

        if (!empty($this->tags)) {
            $source["tags"] = $this->tags;
        }
        $source["type"] = $this->type;

        return $source;
    }