protected void DoRun(CompilerContext context) { OnBefore(context); try { Prepare(context); RunSteps(context); DisposeSteps(); } finally { OnAfter(context); }