original_string: public function parent($numLevels = null)
      {
          if (null === $numLevels) {
              $numLevels = 1;
          }
  
          return $this->createPath(
              array_merge(
                  $this->atoms(),
                  array_fill(0, $numLevels, static::PARENT_ATOM)
              ),
              $this instanceof AbsolutePathInterface,
              false
          );
      }
code: public function parent($numLevels = null)
      {
          if (null === $numLevels) {
              $numLevels = 1;
          }
  
          return $this->createPath(
              array_merge(
                  $this->atoms(),
                  array_fill(0, $numLevels, static::PARENT_ATOM)
              ),
              $this instanceof AbsolutePathInterface,
              false
          );
      }
code_tokens: public function parent ( $ numLevels = null ) { if ( null === $ numLevels ) { $ numLevels = 1 ; } return $ this -> createPath ( array_merge ( $ this -> atoms ( ) , array_fill ( 0 , $ numLevels , static :: PARENT_ATOM ) ) , $ this instanceof AbsolutePathInterface , false ) ; }
docstring: Get the parent of this path a specified number of levels up.
  
  @param integer|null $numLevels The number of levels up. Defaults to 1.
  
  @return PathInterface The parent of this path $numLevels up.
docstring_tokens: Get the parent of this path a specified number of levels up .