def _convert_json_response_to_entity(response, property_resolver, require_encryption,<EOL>key_encryption_key, key_resolver):
if response is None or response.body is None:<EOL><INDENT>return None<EOL><DEDENT>root = loads(response.body.decode('<STR_LIT:utf-8>'))<EOL>return _decrypt_and_deserialize_entity(root, property_resolver, require_encryption,<EOL>key_encryption_key, key_resolver)<EOL>
: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.