private void preloadPosition(final OsmNode n, final int d) {
        firstFileAccessFailed = false;
        firstFileAccessName = null;
        loadSegmentFor(n.ilon, n.ilat);
        if (firstFileAccessFailed) {
            throw new IllegalArgumentException("datafile " + firstFileAccessName + " not found");
        }
        for (int idxLat = -1; idxLat <= 1; idxLat++) {
            for (int idxLon = -1; idxLon <= 1; idxLon++) {
                if (idxLon != 0 || idxLat != 0) {
                    loadSegmentFor(n.ilon + d * idxLon, n.ilat + d * idxLat);
                }
            }
        }
    }
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