<｜begin▁of▁sentence｜>### Instruction:
Suppose you have a tree graph with 5 vertices, each non-leaf vertex having 2 children, and you wish to create a custom vertex drawing setup, where you want to hide the drawing of the vertices while keeping the edges visible. How would you utilize the AbstractCairoVertexDrawer class's draw method to accomplish this custom visualization requirement?
### Response:
import igraph as ig

# Initialize graph and style
g = ig.Graph.Tree(5, 2)
visual_style = {'bbox': (300, 300), 'margin': 20}

# Create Cairo plotter and invoke custom vertex drawer
plotter = ig.plot(g, **visual_style)
custom_drawer = ig.drawing.AbstractCairoVertexDrawer(plotter.context)
for v in g.vs:
    custom_drawer.draw(vertex=v, vertex_shape='hidden')

plotter.save('tree_graph.png')
<|EOT|>
