original_string: public function clone(string $id, string $name): ?string
    {
      if ( \bbn\str::is_uid($id) && ($id_menu = $this->add(['text' => $name])) ){
        if ( ($bits = $this->pref->get_full_bits($id)) && !$this->_clone($id_menu, $bits) ){
          return null;
        }
        return $id_menu;
      }
      return null;
    }
code: public function clone(string $id, string $name): ?string
    {
      if ( \bbn\str::is_uid($id) && ($id_menu = $this->add(['text' => $name])) ){
        if ( ($bits = $this->pref->get_full_bits($id)) && !$this->_clone($id_menu, $bits) ){
          return null;
        }
        return $id_menu;
      }
      return null;
    }
code_tokens: public function clone ( string $ id , string $ name ) : ? string { if ( \ bbn \ str :: is_uid ( $ id ) && ( $ id_menu = $ this -> add ( [ 'text' => $ name ] ) ) ) { if ( ( $ bits = $ this -> pref -> get_full_bits ( $ id ) ) && ! $ this -> _clone ( $ id_menu , $ bits ) ) { return null ; } return $ id_menu ; } return null ; }
docstring: Clones a menu
  
  @param string $id The menu's ID to clone
  @param string $name The new menu's name
  @return null|string The new ID
docstring_tokens: Clones a menu