public void changeVariables(final Map<String, String> newVars) {
        for (Map.Entry<String, String> var : newVars.entrySet()) {
            getVariables().addVariable(var.getKey(), var.getValue());
            getVariables().saveState();
            recalculateWaypoints(); //need to do this because new wps are not saved to DB yet
        }
    }
changes this cache's variables with the given one's. Change is forced!
main/src/main/java/cgeo/geocaching/models/Geocache.java