<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def resolve(self, context, provider):
 """Recursively resolve any lookups with the Variable. Args: context (:class:`stacker.context.Context`):
 Current context for building the stack provider (:class:`stacker.provider.base.BaseProvider`):
 subclass of the base provider """

        try:
            self._value.resolve(context, provider)
        except FailedLookup as e:
            raise FailedVariableLookup(self.name, e.lookup, e.error)