Filtering tower nodes from virtual nodes

What is the correct way to filter tower nodes from virtual nodes for routing algorithm, so it could use tower nodes only?

What is the use case? ‘Normally’ this knowledge should not be ‘necessary’ for the algorithm and both node types should be transparent. (Of course in real world you cannot always ignore this, e.g. like we needed the difference in the new landmarks algorithm)

We want to implement arc routing algorithm to traverse every road in seleted region. And we assume that more precise routing could be done after that, so only tower nodes are needed at first step.

Virtual nodes are described here: The virtual nodes and edges have a higher int ID than graph.getNodes() or allEdges.getMaxId()