original_string: public function nestedList(array $list, array $options = [], array $item_options = [], $type_list = 'list') {
          $type = $type_list == 'list' ? 'ul' : 'ol';
          $r = '<' . $type . ' ' . Str::htmlserialize($options) . '>';
          foreach ($list as $key => $l) {
              $r .= is_array($l) ? $this->nestedList($l, key_exists($key, $item_options) ? $item_options[$key] : []) : 
                  '<li ' . (key_exists($key, $item_options) ? Str::htmlserialize($item_options[$key]) : '') . ' >' . 
                      $l . 
                  '</li>';
          }
          $r .= '</' . $type . '>';
          
          return $r;
      }
code: public function nestedList(array $list, array $options = [], array $item_options = [], $type_list = 'list') {
          $type = $type_list == 'list' ? 'ul' : 'ol';
          $r = '<' . $type . ' ' . Str::htmlserialize($options) . '>';
          foreach ($list as $key => $l) {
              $r .= is_array($l) ? $this->nestedList($l, key_exists($key, $item_options) ? $item_options[$key] : []) : 
                  '<li ' . (key_exists($key, $item_options) ? Str::htmlserialize($item_options[$key]) : '') . ' >' . 
                      $l . 
                  '</li>';
          }
          $r .= '</' . $type . '>';
          
          return $r;
      }
code_tokens: public function nestedList ( array $ list , array $ options = [ ] , array $ item_options = [ ] , $ type_list = 'list' ) { $ type = $ type_list == 'list' ? 'ul' : 'ol' ; $ r = '<' . $ type . ' ' . Str :: htmlserialize ( $ options ) . '>' ; foreach ( $ list as $ key => $ l ) { $ r .= is_array ( $ l ) ? $ this -> nestedList ( $ l , key_exists ( $ key , $ item_options ) ? $ item_options [ $ key ] : [ ] ) : '<li ' . ( key_exists ( $ key , $ item_options ) ? Str :: htmlserialize ( $ item_options [ $ key ] ) : '' ) . ' >' . $ l . '</li>' ; } $ r .= '</' . $ type . '>' ; return $ r ; }
docstring: Crea una lista simple u ordenada
  @param array $list Array con la lista completa, puede ser un array multidimencional
  @param array $options [Opcional] Opciones de la lista Ej: <code>$options = ['class' => 'my_list', 'id' => 'mylist1']</code>
  @param array $item_options [Opcional] Opciones de un item específico Ej: <code> $item_options = [1 => ['class' => 'active']] </code>
  @param type $type_list [Opcional] Tipo de lista, "ordered" para una lista ordenada o list
  @return string
docstring_tokens: Crea una lista simple u ordenada