public override object Call(Context cx, Scriptable scope, Scriptable thisObj, object[] args)
{
object sync = syncObject != null ? syncObject : thisObj;
lock (sync is Wrapper ? ((Wrapper)sync).Unwrap() : sync)
{
return ((Function)obj).Call(cx, scope, thisObj, args);
}
}
}