def compute_fingerprint(self, target):
    """UnpackedWheels targets need to be re-unpacked if any of its configuration changes or any of
    the jars they import have changed.
    """
    if isinstance(target, UnpackedWheels):
      hasher = sha1()
      for cache_key in sorted(req.cache_key() for req in target.all_imported_requirements):
        hasher.update(cache_key.encode('utf-8'))
      hasher.update(target.payload.fingerprint().encode('utf-8'))
      return hasher.hexdigest() if PY3 else hasher.hexdigest().decode('utf-8')
    return None
UnpackedWheels targets need to be re-unpacked if any of its configuration changes or any of
    the jars they import have changed.