@engine<EOL><INDENT>def store(self, collection, **kwargs):<DEDENT>
callback = kwargs.pop('<STR_LIT>')<EOL>key = validate(collection, **kwargs)<EOL>data = yield Task(self.fetch, collection, **{key: kwargs[key]})<EOL>if data is not None:<EOL><INDENT>raise Proauth2Error('<STR_LIT>')<EOL><DEDENT>yield Op(self.db[collection].insert, kwargs)<EOL>callback()<EOL>
validate the passed values in kwargs based on the collection,
store them in the mongodb collection