public function convert(Node $node, $parentPrecedence, $parentAssociativity, $childPosition)
    {
        $type = $node->getType();
        if ($this->dispatcher->issetPrecedenceMap($type) === true) {
            $childPrecedences = $this->dispatcher->getPrecedenceMap($type);
            $childPrecedence = $childPrecedences[0];
            if ($childPrecedence > $parentPrecedence
                || ($parentPrecedence == $childPrecedence && $parentAssociativity != $childPosition)
            ) {
                return '('.$this->dispatcher->{'p'.$type}($node).')';
            }
        }

        return $this->dispatcher->{'p'.$type}($node);
    }