def get_lock_requests(self):
d = defaultdict(list)<EOL>if self._context:<EOL><INDENT>for variant in self._context.resolved_packages:<EOL><INDENT>name = variant.name<EOL>version = variant.version<EOL>lock = self.patch_locks.get(name)<EOL>if lock is None:<EOL><INDENT>lock = self.default_patch_lock<EOL><DEDENT>request = get_lock_request(name, version, lock)<EOL>if request is not None:<EOL><INDENT>d[lock].append(request)<EOL><DEDENT><DEDENT><DEDENT>return d<EOL>
Take the current context, and the current patch locks, and determine
        the effective requests that will be added to the main request.

        Returns:
            A dict of (PatchLock, [Requirement]) tuples. Each requirement will be
            a weak package reference. If there is no current context, an empty
            dict will be returned.