code: def translate_paths (properties, path):
      
      assert is_iterable_typed(properties, Property)
      result = []
  
      for p in properties:
  
          if p.feature.path:
              values = __re_two_ampersands.split(p.value)
  
              new_value = "&&".join(os.path.normpath(os.path.join(path, v)) for v in values)
  
              if new_value != p.value:
                  result.append(Property(p.feature, new_value, p.condition))
              else:
                  result.append(p)
  
          else:
              result.append (p)
  
      return result
docs: Interpret all path properties in 'properties' as relative to 'path'
          The property values are assumed to be in system-specific form, and
          will be translated into normalized form.