protected function constructKey(?string $key = null) : ?string
    {
        if (!is_null($key) && !is_null($this->current)) {
            return $this->current.'.'.$key;
        }

        if (is_null($key) && !is_null($this->current)) {
            return $this->current;
        }

        return $key;
    }
protected function constructKey(?string $key = null) : ?string
    {
        if (!is_null($key) && !is_null($this->current)) {
            return $this->current.'.'.$key;
        }

        if (is_null($key) && !is_null($this->current)) {
            return $this->current;
        }

        return $key;
    }
protected function constructKey ( ? string $ key = null ) : ? string { if ( ! is_null ( $ key ) && ! is_null ( $ this -> current ) ) { return $ this -> current . '.' . $ key ; } if ( is_null ( $ key ) && ! is_null ( $ this -> current ) ) { return $ this -> current ; } return $ key ; }
Constructs full key.

@param string|null $key

@return string|null
Constructs full key .