internal override Object Evaluate(){
ScriptObject top = Globals.ScopeStack.Peek();
while (top is WithObject || top is BlockScope)
top = top.GetParent();
if (top is StackFrame)
return ((StackFrame)top).thisObject;
else //Code is either local to function/method/constructor/initializer (StackFrame) or global (GlobalScope)
return ((GlobalScope)top).thisObject;
}