protected virtual void ExecuteBlock(BlockExecuteContext context) { // default implementation is an empty block, that does nothing }
void IBlock.Execute(BlockExecuteContext context) { ExecuteBlock(context); }