original_string: public function parameters(): MapInterface
      {
          if ($this->parameters) {
              return $this->parameters;
          }
  
          return $this->parameters = $this->elements->reduce(
              new Map('string', Parameter::class),
              function(Map $carry, $element): Map {
                  return $carry->merge($element->parameters());
              }
          );
      }
code: public function parameters(): MapInterface
      {
          if ($this->parameters) {
              return $this->parameters;
          }
  
          return $this->parameters = $this->elements->reduce(
              new Map('string', Parameter::class),
              function(Map $carry, $element): Map {
                  return $carry->merge($element->parameters());
              }
          );
      }
code_tokens: public function parameters ( ) : MapInterface { if ( $ this -> parameters ) { return $ this -> parameters ; } return $ this -> parameters = $ this -> elements -> reduce ( new Map ( 'string' , Parameter :: class ) , function ( Map $ carry , $ element ) : Map { return $ carry -> merge ( $ element -> parameters ( ) ) ; } ) ; }
docstring: Return all the parameters of the path
  
  @return MapInterface<string, Parameter>
docstring_tokens: Return all the parameters of the path