code: def _MergeEntities(self, a, b):
      
  
      def _MergeAgencyId(a_agency_id, b_agency_id):
        """Merge two agency ids.
  
        The only difference between this and _MergeIdentical() is that the values
        None and '' are regarded as being the same.
  
        Args:
          a_agency_id: The first agency id.
          b_agency_id: The second agency id.
  
        Returns:
          The merged agency id.
  
        Raises:
          MergeError: The agency ids could not be merged.
        """
        a_agency_id = a_agency_id or None
        b_agency_id = b_agency_id or None
        return self._MergeIdentical(a_agency_id, b_agency_id)
  
      scheme = {'agency_id': _MergeAgencyId,
                'agency_name': self._MergeIdentical,
                'agency_url': self._MergeIdentical,
                'agency_timezone': self._MergeIdentical}
      return self._SchemedMerge(scheme, a, b)
docs: Merges two agencies.
  
      To be merged, they are required to have the same id, name, url and
      timezone. The remaining language attribute is taken from the new agency.
  
      Args:
        a: The first agency.
        b: The second agency.
  
      Returns:
        The merged agency.
  
      Raises:
        MergeError: The agencies could not be merged.