code: def migrate_config(self, current_config, config_to_migrate,
                         always_update, update_defaults):
          
          value = self._search_config_for_possible_names(current_config)
          self._update_config(config_to_migrate, value,
                              always_update, update_defaults)
docs: Migrate config value in current_config, updating config_to_migrate.
  
          Given the current_config object, it will attempt to find a value
          based on all the names given. If no name could be found, then it
          will simply set the value to the default.
  
          If a value is found and is in the list of previous_defaults, it will
          either update or keep the old value based on if update_defaults is
          set.
  
          If a non-default value is set it will either keep this value or update
          it based on if ``always_update`` is true.
  
          Args:
              current_config (dict): Current configuration.
              config_to_migrate (dict): Config to update.
              always_update (bool): Always update value.
              update_defaults (bool): Update values found in previous_defaults