original_string: public function remove(array $path)
      {
          $current    = &$this->hierarchy;
          $pathLength = count($path);
          for ($i = 0; $i < $pathLength; $i++) {
              if (!isset($current[$path[$i]])) {
                  break;
              }
              if ($i === $pathLength - 1) {
                  unset($current[$path[$i]]);
                  break;
              }
              $current = &$current[$path[$i]];
          }
      }
code: public function remove(array $path)
      {
          $current    = &$this->hierarchy;
          $pathLength = count($path);
          for ($i = 0; $i < $pathLength; $i++) {
              if (!isset($current[$path[$i]])) {
                  break;
              }
              if ($i === $pathLength - 1) {
                  unset($current[$path[$i]]);
                  break;
              }
              $current = &$current[$path[$i]];
          }
      }
code_tokens: public function remove ( array $ path ) { $ current = & $ this -> hierarchy ; $ pathLength = count ( $ path ) ; for ( $ i = 0 ; $ i < $ pathLength ; $ i ++ ) { if ( ! isset ( $ current [ $ path [ $ i ] ] ) ) { break ; } if ( $ i === $ pathLength - 1 ) { unset ( $ current [ $ path [ $ i ] ] ) ; break ; } $ current = & $ current [ $ path [ $ i ] ] ; } }
docstring: Removes the item from the hierarchy
  
  @param string[] $path
docstring_tokens: Removes the item from the hierarchy