code: private void updatePreferenceCache() {
      for (PrefsProtos.Pref pref : service.listPrefs(true, null)) {
        preferences.add(new ScopePreference(this, pref));
      }
    }
docs: Invalidates the preferences cache stored locally in the driver and requests a new list of all
  preferences from Opera.  This should typically only be called the first time {@link
  OperaScopePreferences} is instantiated.
  
  Following that, whenever a preference is updated the driver will be responsible for keeping the
  local cache up-to-date.  The drawback of this is that if the user manually updates a preference
  in Opera, this will not be reflected when {@link ScopePreference#getValue()} is run.  We
  circumvent that issue by fetching the value individually.
  
  The reason for this is that we cannot fetch a single message "Pref" through Scope, but only
  individual values.