code: def acquire(self, key):
          
          if _debug: DeviceInfoCache._debug("acquire %r", key)
  
          if isinstance(key, int):
              device_info = self.cache.get(key, None)
  
          elif not isinstance(key, Address):
              raise TypeError("key must be integer or an address")
  
          elif key.addrType not in (Address.localStationAddr, Address.remoteStationAddr):
              raise TypeError("address must be a local or remote station")
  
          else:
              device_info = self.cache.get(key, None)
  
          if device_info:
              if _debug: DeviceInfoCache._debug("    - reference bump")
              device_info._ref_count += 1
  
          if _debug: DeviceInfoCache._debug("    - device_info: %r", device_info)
  
          return device_info
docs: Return the known information about the device and mark the record
          as being used by a segmenation state machine.