@Override public void setField(Field field) { FieldVariable variableField = (FieldVariable) field; if (mVariableField == variableField) { return; } if (mVariableField != null) { mVariableField.unregisterObserver(mFieldObserver); } mVariableField = variableField; if (mVariableField != null) { // Update immediately. refreshSelection(); mVariableField.registerObserver(mFieldObserver); } else { setSelection(0); } }