docs: def _convert_json_response_to_entity(response, property_resolver, require_encryption,
                                       key_encryption_key, key_resolver):
      '''
      :param bool require_encryption:
          If set, will enforce that the retrieved entity is encrypted and decrypt it.
      :param object key_encryption_key:
          The user-provided key-encryption-key. Must implement the following methods:
          unwrap_key(key, algorithm)--returns the unwrapped form of the specified symmetric key using the 
          string-specified algorithm.
          get_kid()--returns a string key id for this key-encryption-key.
       :param function key_resolver(kid):
          The user-provided key resolver. Uses the kid string to return a key-encryption-key implementing
          the interface defined above.
      '''
      if response is None or response.body is None:
          return None
  
      root = loads(response.body.decode('utf-8'))
      return _decrypt_and_deserialize_entity(root, property_resolver, require_encryption,
                                             key_encryption_key, key_resolver)