code: def get(scanner_class, properties):
      
      assert issubclass(scanner_class, Scanner)
      assert is_iterable_typed(properties, basestring)
      scanner_name = str(scanner_class)
  
      if not registered(scanner_name):
          raise BaseException ("attempt to get unregisted scanner: %s" % scanner_name)
  
      relevant_properties = __scanners[scanner_name]
      r = property.select(relevant_properties, properties)
  
      scanner_id = scanner_name + '.' + '-'.join(r)
  
      if scanner_id not in __scanner_cache:
          __scanner_cache[scanner_id] = scanner_class(r)
  
      return __scanner_cache[scanner_id]
docs: Returns an instance of previously registered scanner
          with the specified properties.