code: @Override
  	public Value check(ILexNameToken name)
  	{
  		Value v = get(name);
  
  		if (v != null)
  		{
  			return v;
  		}
  
  		if (freeVariables != null)
  		{
  			v = freeVariables.get(name);
  
  			if (v != null)
  			{
  				return v;
  			}
  		}
  
  		// A RootContext stops the name search from continuing down the
  		// context chain. It first checks any state context, then goes
  		// down to the global level.
  
  		if (v == null)
  		{
  			if (stateCtxt != null)
  			{
  				v = stateCtxt.check(name);
  
  				if (v != null)
  				{
  					return v;
  				}
  			}
  
  			Context g = getGlobal();
  
  			if (g != this)
  			{
  				return g.check(name);
  			}
  		}
  
  		return v;
  	}
docs: Check for the name in the current context and state, and if not present search the global context. Note that the
  context chain is not followed.
  
  @see Context#check(ILexNameToken)