@Override public AllEdgesIterator getAllEdges() { final AllEdgesSkipIterator tmpIter = lg.getAllEdges(); return new AllEdgesIterator() { @Override public int getCount() { return tmpIter.getCount(); } @Override public boolean next() { while (tmpIter.next()) { if (!tmpIter.isShortcut()) { return true; } } return false; } @Override public int getEdge() { return tmpIter.getEdge(); } @Override public int getBaseNode() { return tmpIter.getBaseNode(); } @Override public int getAdjNode() { return tmpIter.getAdjNode(); } @Override public PointList fetchWayGeometry(int type) { return tmpIter.fetchWayGeometry(type); } @Override public EdgeIteratorState setWayGeometry(PointList list) { return tmpIter.setWayGeometry(list); } @Override public double getDistance() { return tmpIter.getDistance(); } @Override public EdgeIteratorState setDistance(double dist) { return tmpIter.setDistance(dist); } @Override public long getFlags() { return tmpIter.getFlags(); } @Override public EdgeIteratorState setFlags(long flags) { return tmpIter.setFlags(flags); } @Override public String getName() { return tmpIter.getName(); } @Override public EdgeIteratorState setName(String name) { return tmpIter.setName(name); } @Override public boolean getBoolean(int key, boolean reverse, boolean _default) { return tmpIter.getBoolean(key, reverse, _default); } @Override public int getAdditionalField() { return tmpIter.getAdditionalField(); } @Override public EdgeIteratorState setAdditionalField(int value) { return tmpIter.setAdditionalField(value); } @Override public EdgeIteratorState copyPropertiesTo(EdgeIteratorState edge) { return tmpIter.copyPropertiesTo(edge); } @Override public EdgeIteratorState detach(boolean reverse) { return tmpIter.detach(reverse); } }; }