# File lib/ruote/exp/ro_variables.rb, line 55
    def lookup_variable (var, prefix=nil)

      var, prefix = split_prefix(var, prefix)

      return @context.storage.get_engine_variable(var) \
        if prefix.length >= 2

      return parent.lookup_variable(var, prefix) \
        if h.parent_id && prefix.length >= 1

      if h.variables

        val = Ruote.lookup(h.variables, var)

        return val if val != nil
      end

      if h.parent_id && h.parent_id['engine_id'] == @context.engine_id
        #
        # do not lookup variables in a remote engine ...

        (return parent.lookup_variable(var, prefix)) rescue nil
          # if the lookup fails (parent gone) then rescue and let go
      end

      @context.storage.get_engine_variable(var)
    end