public void storeWaypointsInPersonalNote(final Geocache cache) {
        final String note = cache.getPersonalNote() == null ? "" : cache.getPersonalNote();

        //only user modified waypoints
        final List<Waypoint> userModifiedWaypoints = new ArrayList<>();
        for (Waypoint w : cache.getWaypoints()) {
            if (w.isUserModified()) {
                userModifiedWaypoints.add(w);
            }
        }
        if (userModifiedWaypoints.isEmpty() && cache.getVariables().isEmpty()) {
            showShortToast(getString(R.string.cache_personal_note_storewaypoints_nowaypoints));
            return;
        }

        final String newNote = CacheArtefactParser.putParseableWaypointsInText(note, userModifiedWaypoints, cache.getVariables());
        setNewPersonalNote(newNote);
        showShortToast(R.string.cache_personal_note_storewaypoints_success);
    }
A dialog to allow the user to select reseting coordinates local/remote/both.
main/src/main/java/cgeo/geocaching/CacheDetailActivity.java