def _load_backend(self, backend_uri, context):
parsed = parse.urlparse(backend_uri)<EOL>options = dict(parse.parse_qsl(parsed.query))<EOL>try:<EOL><INDENT>backend = self._entry_points[self.BACKENDS_ENTRY_POINT][parsed.scheme].load()<EOL><DEDENT>except KeyError:<EOL><INDENT>raise BackendNotFoundError(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>"<EOL>"<STR_LIT>" % parsed.scheme<EOL>)<EOL><DEDENT>password = (parse.unquote(parsed.password)<EOL>if parsed.password<EOL>else parsed.password)<EOL>return backend(<EOL>username=parsed.username, password=password,<EOL>hostname=parsed.hostname, port=parsed.port,<EOL>path=parsed.path, options=options, context=context,<EOL>)<EOL>
Return the instantiated backend object identified by the given
`backend_uri`.

The entry point that is used to create the backend object is determined
by the protocol part of the given URI.