public void put(@NonNull final String var, @Nullable final String formula) {
        Objects.requireNonNull(var);
        VariableState state = variableStateMap.get(var);
        if (state == null) {
            state = new VariableState(var);
            variableStateMap.put(var, state);
        } else if (Objects.equals(formula, state.formulaString)) {
            //nothing to do
            return;
        }
        setFormula(var, formula);
        recalculateDependencies(var);
        recalculate(var);
    }
Adds or changes a variable - formula assignment to this map.
<br>
Note that on adding/changing a variable's formula, the map will ensure that for all
variables where the formula depends on there will also be an entry in this map (state might be empty though)
main/src/main/java/cgeo/geocaching/utils/formulas/VariableMap.java