public void RunEmpty(){
this.TryObtainLock();
try{
Preconditions(Pre.EngineNotClosed | Pre.RootMonikerSet | Pre.SiteSet);
this.isEngineRunning = true;
// save the current thread so it can be interrupted
this.runningThread = Thread.CurrentThread;
if (null != this.globalScope)
this.globalScope.Run();
foreach (Object item in this.vsaItems)
((VsaItem)item).Run();
}finally{
this.runningThread = null;
this.ReleaseLock();
}
}