def _bind(self, args, kwds):
bindings = dict(kwds)<EOL>for i, arg in enumerate(args):<EOL><INDENT>bindings[i + <NUM_LIT:1>] = arg<EOL><DEDENT>used = {}<EOL>ancestor = self.ancestor<EOL>if isinstance(ancestor, ParameterizedThing):<EOL><INDENT>ancestor = ancestor.resolve(bindings, used)<EOL><DEDENT>filters = self.filters<EOL>if filters is not None:<EOL><INDENT>filters = filters.resolve(bindings, used)<EOL><DEDENT>unused = []<EOL>for i in range(<NUM_LIT:1>, <NUM_LIT:1> + len(args)):<EOL><INDENT>if i not in used:<EOL><INDENT>unused.append(i)<EOL><DEDENT><DEDENT>if unused:<EOL><INDENT>raise datastore_errors.BadArgumentError(<EOL>'<STR_LIT>' %<EOL>'<STR_LIT:U+002CU+0020>'.join(str(i) for i in unused))<EOL><DEDENT>return self.__class__(kind=self.kind, ancestor=ancestor,<EOL>filters=filters, orders=self.orders,<EOL>app=self.app, namespace=self.namespace,<EOL>default_options=self.default_options,<EOL>projection=self.projection, group_by=self.group_by)<EOL>
Bind parameter values.  Returns a new Query object.