def _object_resolution(self, result_list):
<EOL>for a_result_item in enumerate(result_list):<EOL><INDENT>for a_result_attribute in enumerate(a_result_item[<NUM_LIT:1>]):                    <EOL><INDENT>try:<EOL><INDENT>resolved_object = a_result_attribute[<NUM_LIT:1>]<EOL>if type(a_result_attribute[<NUM_LIT:1>]) is Node:<EOL><INDENT>resolved_object = self._NODE_CLASS_REGISTRY[frozenset(a_result_attribute[<NUM_LIT:1>].labels)].inflate(<EOL>a_result_attribute[<NUM_LIT:1>])<EOL><DEDENT>if type(a_result_attribute[<NUM_LIT:1>]) is list:<EOL><INDENT>resolved_object = self._object_resolution([a_result_attribute[<NUM_LIT:1>]])                    <EOL><DEDENT>result_list[a_result_item[<NUM_LIT:0>]][a_result_attribute[<NUM_LIT:0>]] = resolved_object<EOL><DEDENT>except KeyError:<EOL><INDENT>raise ModelDefinitionMismatch(a_result_attribute[<NUM_LIT:1>], self._NODE_CLASS_REGISTRY)<EOL><DEDENT><DEDENT><DEDENT>return result_list<EOL>
Performs in place automatic object resolution on a set of results
returned by cypher_query.

The function operates recursively in order to be able to resolve Nodes
within nested list structures. Not meant to be called directly,
used primarily by cypher_query.

:param result_list: A list of results as returned by cypher_query.
:type list:

:return: A list of instantiated objects.