private void setNewPersonalNote(final String newNote, final boolean newPreventWaypointsFromNote) {
        // trim note to avoid unnecessary uploads for whitespace only changes
        final String trimmedNote = StringUtils.trim(newNote);

        final String oldAllUserNotes = cache.getAllUserNotes();

        cache.setPersonalNote(trimmedNote);
        cache.setPreventWaypointsFromNote(newPreventWaypointsFromNote);

        if (cache.addCacheArtefactsFromNotes(oldAllUserNotes)) {
            reinitializePage(Page.WAYPOINTS.id);
            /* @todo mb Does above line work?
            final PageViewCreator wpViewCreator = getViewCreator(Page.WAYPOINTS);
            if (wpViewCreator != null) {
                wpViewCreator.notifyDataSetChanged();
            }
            */
        }
        setMenuPreventWaypointsFromNote(cache.isPreventWaypointsFromNote());

        final TextView personalNoteView = findViewById(R.id.personalnote);
        final View separator = findViewById(R.id.personalnote_button_separator);
        if (personalNoteView != null) {
            setPersonalNote(personalNoteView, separator, trimmedNote);
        } else {
            reinitializePage(Page.DESCRIPTION.id);
        }
        adjustPersonalNoteVarsOutOfSyncButton();

        Schedulers.io().scheduleDirect(this::saveAndNotify);
    }
Internal method to set new personal note and update all corresponding entities (DB, dialogs etc)

@param newNote                     new note to set
@param newPreventWaypointsFromNote new preventWaypointsFromNote flag to set
main/src/main/java/cgeo/geocaching/CacheDetailActivity.java