code: def _flatten_location_translations(location_translations):
      
      sources_to_process = set(six.iterkeys(location_translations))
  
      def _update_translation(source):
          """Return the proper (fully-flattened) translation for the given location."""
          destination = location_translations[source]
          if destination not in location_translations:
              # "destination" cannot be translated, no further flattening required.
              return destination
          else:
              # "destination" can itself be translated -- do so,
              # and then flatten "source" to the final translation as well.
              sources_to_process.discard(destination)
              final_destination = _update_translation(destination)
              location_translations[source] = final_destination
              return final_destination
  
      while sources_to_process:
          _update_translation(sources_to_process.pop())
docs: If location A translates to B, and B to C, then make A translate directly to C.
  
      Args:
          location_translations: dict of Location -> Location, where the key translates to the value.
                                 Mutated in place for efficiency and simplicity of implementation.