public function toArrayParent($chaine_parent = 'parent_id', $chaine_id = 'id', array $indices = array(), $unset_indice = false)
    {
        $array = $this->toArray();

        $num = 0;
        $final = array();
        do {
            $is_present = false;
            foreach ($array as $key => $row) {
                if ($row[$chaine_parent] == $num) {
                    if (count($indices) > 0) {
                        $buffer = &$final;
                        foreach ($indices as $indice) {
                            if (isset($row[$indice])) {
                                $buffer = &$buffer[$row[$indice]];
                                if ($unset_indice) {
                                    unset($row[$indice]);
                                }
                            }
                        }
                        $buffer = $row;
                    } else {
                        $final[] = $row;
                    }
                    $num = $row[$chaine_id];
                    unset($array[$key]);
                    $is_present = true;
                    break;
                }
            }
        } while ($is_present);

        return $final;
    }