void updateWayList(List<MatchedWaypoint> ways, MatchedWaypoint mw) {
        ways.add(mw);
        // use only shortest distances by smallest direction difference
        Collections.sort(ways, comparator);
        if (ways.size() > MAX_POINTS) {
            ways.remove(MAX_POINTS);
        }

    }
the WaypointMatcher is feeded by the decoder with geoemtries of ways that are
already check for allowed access according to the current routing profile
<p>
It matches these geometries against the list of waypoints to find the best
match for each waypoint
main/src/main/java/cgeo/geocaching/brouter/mapaccess/WaypointMatcherImpl.java