/** * ${@inheritDoc}. * * @see org.openstreetmap.osm.data.IDataSet#getNodesByName(java.lang.String) */ public Iterator<Node> getNodesByName(final String aLookFor) { Iterator<Node> n = myCachingDataSet.getNodesByName(aLookFor); if (n == null || !n.hasNext()) { n = myDataSource.getNodesByName(aLookFor); if (n != null && n.hasNext()) { LinkedList<Node> nodes = new LinkedList<Node>(); while (n.hasNext()) { Node node = n.next(); nodes.add(node); cacheNode(node); return nodes.iterator(); } } } return n; }