public OsmNode getGraphNode(final OsmNode template) {
        final OsmNode graphNode = new OsmNode(template.ilon, template.ilat);
        graphNode.setHollow();
        final OsmNode existing = nodesMap.put(graphNode);
        if (existing == null) {
            return graphNode;
        }
        nodesMap.put(existing);
        return existing;
    }
get a node for the given id with all link-targets also non-hollow
<p>
It is required that an instance of the start-node does not yet
exist, not even a hollow instance, so getStartNode should only
be called once right after resetting the cache

@param id the id of the node to load
@return the fully expanded node for id, or null if it was not found
main/src/main/java/cgeo/geocaching/brouter/mapaccess/NodesCache.java