code: def _determine_branch_locations(self, other_services):
          
  
          self.log.info('OpenStackAmuletDeployment:  determine branch locations')
  
          # Charms outside the ~openstack-charmers
          base_charms = {
              'mysql': ['trusty'],
              'mongodb': ['trusty'],
              'nrpe': ['trusty', 'xenial'],
          }
  
          for svc in other_services:
              # If a location has been explicitly set, use it
              if svc.get('location'):
                  continue
              if svc['name'] in base_charms:
                  # NOTE: not all charms have support for all series we
                  #       want/need to test against, so fix to most recent
                  #       that each base charm supports
                  target_series = self.series
                  if self.series not in base_charms[svc['name']]:
                      target_series = base_charms[svc['name']][-1]
                  svc['location'] = 'cs:{}/{}'.format(target_series,
                                                      svc['name'])
              elif self.stable:
                  svc['location'] = 'cs:{}/{}'.format(self.series,
                                                      svc['name'])
              else:
                  svc['location'] = 'cs:~openstack-charmers-next/{}/{}'.format(
                      self.series,
                      svc['name']
                  )
  
          return other_services
docs: Determine the branch locations for the other services.
  
             Determine if the local branch being tested is derived from its
             stable or next (dev) branch, and based on this, use the corresonding
             stable or next branches for the other_services.