def METHOD_NAME(
    self, node: BaseProxiNode, converted: Dict[BaseProxiNode, QProximityGraphBlock]
) -> Optional[QProximityGraphBlock]:
    if node in converted:
        return converted[node]
    if isinstance(node, StringProxiNode):
        new_node = QProximityGraphStringBlock(False, self, node)
    elif isinstance(node, FunctionProxiNode):
        new_node = QProximityGraphFunctionBlock(False, self, node)
    elif isinstance(node, CallProxiNode):
        new_node = QProximityGraphCallBlock(False, self, node)
    elif isinstance(node, VariableProxiNode):
        new_node = QProximityGraphBlock
    elif isinstance(node, BaseProxiNode):
        new_node = QProximityGraphBlock(False, self, node)
    else:
        raise TypeError(f"Unsupported type of proximity node {type(node)}.")
    converted[node] = new_node
    return new_node