code: def _create_execution_context(self):
          
          if hasattr(self, '_database_link'):
              # client side partitioning query
              return base_execution_context._MultiCollectionQueryExecutionContext(self._client, self._options, self._database_link, self._query, self._partition_key)
          else:
              # 
              return execution_dispatcher._ProxyQueryExecutionContext(self._client, self._collection_link, self._query, self._options, self._fetch_function)
docs: instantiates the internal query execution context based.